Compare commits

..

1 Commits

Author SHA1 Message Date
JirR02 6925fbe298 Initial commit 2025-03-28 10:23:22 +01:00
88 changed files with 2 additions and 7020 deletions
-190
View File
@@ -1,190 +0,0 @@
# Place a copy of this config to ~/.aerospace.toml
# After that, you can edit ~/.aerospace.toml to your liking
# It's not necessary to copy all keys to your config.
# If the key is missing in your config, "default-config.toml" will serve as a fallback
# You can use it to add commands that run after AeroSpace startup.
# 'after-startup-command' is run after 'after-login-command'
# Available commands : https://nikitabobko.github.io/AeroSpace/commands
after-startup-command = ['exec-and-forget bash -c "sleep 2 && sketchybar --trigger aerospace_workspace_change FOCUSED_WORKSPACE=$(aerospace list-workspaces --focused)"']
# Intergration with sketchybar
exec-on-workspace-change = ['/bin/bash', '-c',
'sketchybar --update && sketchybar --trigger aerospace_workspace_change FOCUSED_WORKSPACE=$AEROSPACE_FOCUSED_WORKSPACE'
]
# Start AeroSpace at login
start-at-login = true
# Normalizations. See: https://nikitabobko.github.io/AeroSpace/guide#normalization
enable-normalization-flatten-containers = true
enable-normalization-opposite-orientation-for-nested-containers = true
# See: https://nikitabobko.github.io/AeroSpace/guide#layouts
# The 'accordion-padding' specifies the size of accordion padding
# You can set 0 to disable the padding feature
accordion-padding = 30
# Possible values: tiles|accordion
default-root-container-layout = 'tiles'
# Possible values: horizontal|vertical|auto
# 'auto' means: wide monitor (anything wider than high) gets horizontal orientation,
# tall monitor (anything higher than wide) gets vertical orientation
default-root-container-orientation = 'auto'
# Possible values: (qwerty|dvorak)
# See https://nikitabobko.github.io/AeroSpace/guide#key-mapping
key-mapping.preset = 'qwerty'
# Mouse follows focus when focused monitor changes
# Drop it from your config, if you don't like this behavior
# See https://nikitabobko.github.io/AeroSpace/guide#on-focus-changed-callbacks
# See https://nikitabobko.github.io/AeroSpace/commands#move-mouse
on-focused-monitor-changed = ['move-mouse monitor-lazy-center']
# Gaps between windows (inner-*) and between monitor edges (outer-*).
# Possible values:
# - Constant: gaps.outer.top = 8
# - Per monitor: gaps.outer.top = [{ monitor.main = 16 }, { monitor."some-pattern" = 32 }, 24]
# In this example, 24 is a default value when there is no match.
# Monitor pattern is the same as for 'workspace-to-monitor-force-assignment'.
# See: https://nikitabobko.github.io/AeroSpace/guide#assign-workspaces-to-monitors
[gaps]
inner.horizontal = 10
inner.vertical = 10
outer.left = 10
outer.bottom = 10
outer.top = [{ monitor.built-in = 10 }, 50]
outer.right = 10
# 'main' binding mode declaration
# See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes
# 'main' binding mode must be always presented
[mode.main.binding]
# All possible keys:
# - Letters. a, b, c, ..., z
# - Numbers. 0, 1, 2, ..., 9
# - Keypad numbers. keypad0, keypad1, keypad2, ..., keypad9
# - F-keys. f1, f2, ..., f20
# - Special keys. minus, equal, period, comma, slash, backslash, quote, semicolon, backtick,
# leftSquareBracket, rightSquareBracket, space, enter, esc, backspace, tab
# - Keypad special. keypadClear, keypadDecimalMark, keypadDivide, keypadEnter, keypadEqual,
# keypadMinus, keypadMultiply, keypadPlus
# - Arrows. left, down, up, right
# All possible modifiers: cmd, alt, ctrl, shift
# All possible commands: https://nikitabobko.github.io/AeroSpace/commands
# You can uncomment this line to open up terminal with alt + enter shortcut
# See: https://nikitabobko.github.io/AeroSpace/commands#exec-and-forget
# alt-enter = 'exec-and-forget open -n /System/Applications/Utilities/Terminal.app'
# See: https://nikitabobko.github.io/AeroSpace/commands#layout
alt-comma= 'layout tiles horizontal vertical'
alt-period= 'layout accordion horizontal vertical'
# See: https://nikitabobko.github.io/AeroSpace/commands#focus
alt-h = 'focus left'
alt-j = 'focus down'
alt-k = 'focus up'
alt-l = 'focus right'
# See: https://nikitabobko.github.io/AeroSpace/commands#move
alt-shift-h = 'move left'
alt-shift-j = 'move down'
alt-shift-k = 'move up'
alt-shift-l = 'move right'
# See: https://nikitabobko.github.io/AeroSpace/commands#workspace
alt-1 = 'workspace '
alt-2 = 'workspace '
alt-3 = 'workspace '
alt-4 = 'workspace '
alt-5 = 'workspace 󰏆'
alt-6 = 'workspace '
alt-7 = 'workspace '
alt-8 = 'workspace 󰐫'
alt-9 = 'workspace '
# See: https://nikitabobko.github.io/AeroSpace/commands#move-node-to-workspace
alt-shift-1 = 'move-node-to-workspace '
alt-shift-2 = 'move-node-to-workspace '
alt-shift-3 = 'move-node-to-workspace '
alt-shift-4 = 'move-node-to-workspace '
alt-shift-5 = 'move-node-to-workspace 󰏆'
alt-shift-6 = 'move-node-to-workspace '
alt-shift-7 = 'move-node-to-workspace '
alt-shift-8 = 'move-node-to-workspace 󰐫'
alt-shift-9 = 'move-node-to-workspace '
# See: https://nikitabobko.github.io/AeroSpace/commands#move-workspace-to-monitor
alt-shift-tab = 'move-workspace-to-monitor --wrap-around next'
# See: https://nikitabobko.github.io/AeroSpace/commands#mode
alt-shift-slash= 'mode service'
# 'service' binding mode declaration.
# See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes
[mode.service.binding]
esc = ['reload-config', 'mode main']
r = ['flatten-workspace-tree', 'mode main'] # reset layout
#s = ['layout sticky tiling', 'mode main'] # sticky is not yet supported https://github.com/nikitabobko/AeroSpace/issues/2
f = ['layout floating tiling', 'mode main'] # Toggle between floating and tiling layout
backspace = ['close-all-windows-but-current', 'mode main']
alt-shift-s = ['join-with left', 'mode main']
alt-shift-d = ['join-with down', 'mode main']
alt-shift-f = ['join-with up', 'mode main']
alt-shift-g = ['join-with right', 'mode main']
# Window Rules
[[on-window-detected]]
if.app-id = 'app.zen-browser.zen'
if.window-title-regex-substring = 'Picture-in-Picture'
run = 'layout floating'
[[on-window-detected]]
if.app-id = 'app.zen-browser.zen'
if.window-title-regex-substring = 'Bitwarden'
run = 'layout floating'
[[on-window-detected]]
if.app-id = 'app.zen-browser.zen'
run = 'move-node-to-workspace '
[[on-window-detected]]
if.app-id = 'com.github.wez.wezterm'
run = 'move-node-to-workspace '
[[on-window-detected]]
if.app-id = 'info.sioyek.sioyek'
run = 'move-node-to-workspace '
[[on-window-detected]]
if.app-id = 'NULL-APP-BUNDLE-ID'
run = 'move-node-to-workspace '
[[on-window-detected]]
if.app-id = 'com.spotify.client'
run = 'move-node-to-workspace '
[[on-window-detected]]
if.app-id = 'com.hnc.Discord'
run = 'move-node-to-workspace '
[[on-window-detected]]
if.app-id = 'org.mozilla.thunderbird'
run = 'move-node-to-workspace 󰏆'
[[on-window-detected]]
if.app-id = 'asc.onlyoffice.ONLYOFFICE'
run = 'move-node-to-workspace 󰏆'
[[on-window-detected]]
if.app-id = 'net.ankiweb.launcher'
run = 'move-node-to-workspace '
-21
View File
@@ -1,21 +0,0 @@
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": {
"type": "file",
"source": "/Users/jirayu/.config/fastfetch/logo.txt",
},
"modules": [
"title",
"separator",
"uptime",
"packages",
"shell",
"gpu",
"memory",
"swap",
"disk",
"battery",
"poweradapter",
"colors"
]
}
-12
View File
@@ -1,12 +0,0 @@
⠟⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⢷⡄⠈⡓⠢⢄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⠤⠂⢹
⠈⡷⡄⠈⠲⢤⣈⠻⠉⠛⠉⠉⠁⠒⠖⠉⠉⠉⠒⠶⢦⣤⠴⠒⢉⣡⠴⠀⢀⠏
⠀⢸⡿⡂⠀⠀⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣴⡞⠉⠀⢀⣠⡞⠀
⠀⠀⢙⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠀⠀⢠⡼⡟⠀⠀
⠀⠀⡼⠋⠀⣤⣀⠀⠀⠀⠀⠀⠈⠐⣂⣄⠀⠀⠀⠀⠀⠀⠀⢀⠀⣰⡟⠁⠀⠀
⠀⢠⡇⠀⠀⠘⠛⠃⠀⠀⠀⠀⠾⣿⠿⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⢻⠀⠀⠀⠀
⠀⢸⡇⢺⡀⠀⢠⡒⠠⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⡀⠀⠀⠸⡇⠀⠀⠀
⠀⢸⡇⣘⠑⡀⠀⠙⢏⣁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠂⠀⣔⣇⠀⠀⠀
⠀⢸⡇⡁⠀⢳⣶⣾⣷⣦⣄⣀⡀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⠀⠀
⠀⠸⡇⠁⠀⠀⢏⠉⠀⠀⠙⠛⠛⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⡏⠀⠀⠀
⠀⠀⠯⣀⣈⣀⣈⣐⣲⣄⣄⣤⣴⣆⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣈⣛⡧⠀⠀⠀
-7
View File
@@ -1,7 +0,0 @@
return {
settings = {
ltex = {
checkFrequency = "save",
},
},
}
-5
View File
@@ -1,5 +0,0 @@
require("jirr02.core.options")
require("jirr02.core.keymaps")
require("jirr02.core.colorscheme")
require("jirr02.lazy")
require("jirr02.lsp")
-49
View File
@@ -1,49 +0,0 @@
{
"LuaSnip": { "branch": "master", "commit": "3732756842a2f7e0e76a7b0487e9692072857277" },
"alpha-nvim": { "branch": "main", "commit": "3979b01cb05734331c7873049001d3f2bb8477f4" },
"catppuccin": { "branch": "main", "commit": "ce8d176faa4643e026e597ae3c31db59b63cef09" },
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
"cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" },
"cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
"conform.nvim": { "branch": "master", "commit": "16d35530db66ca64f81cb1a13a42afe5962edf34" },
"easytables.nvim": { "branch": "master", "commit": "4d7b4d98ab315b90156614e16e0a2b6dbbf2a108" },
"follow-md-links.nvim": { "branch": "main", "commit": "728d96d268eef9666f0ee77a083e7e2f0b44f607" },
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
"gitsigns.nvim": { "branch": "main", "commit": "5813e4878748805f1518cee7abb50fd7205a3a48" },
"harpoon": { "branch": "harpoon2", "commit": "87b1a3506211538f460786c23f98ec63ad9af4e5" },
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
"lazy.nvim": { "branch": "main", "commit": "85c7ff3711b730b4030d03144f6db6375044ae82" },
"lazydev.nvim": { "branch": "main", "commit": "5231c62aa83c2f8dc8e7ba957aa77098cda1257d" },
"lspkind.nvim": { "branch": "master", "commit": "3ddd1b4edefa425fda5a9f95a4f25578727c0bb3" },
"lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "c55bd8a8fb191e24176c206a7af1dd51ce7276a5" },
"mason-tool-installer.nvim": { "branch": "main", "commit": "517ef5994ef9d6b738322664d5fdd948f0fdeb46" },
"mason.nvim": { "branch": "main", "commit": "57e5a8addb8c71fb063ee4acda466c7cf6ad2800" },
"noice.nvim": { "branch": "main", "commit": "7bfd942445fb63089b59f97ca487d605e715f155" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-FeMaco.lua": { "branch": "main", "commit": "96bbf843595dbe865838b3f2484b73557f34700c" },
"nvim-autopairs": { "branch": "master", "commit": "d9e44e54384e5b0f3536339c65484f2e41b528e3" },
"nvim-cmp": { "branch": "main", "commit": "d97d85e01339f01b842e6ec1502f639b080cb0fc" },
"nvim-lint": { "branch": "master", "commit": "ae64d6466ed92b68353122d920e314ff2c8dd0a8" },
"nvim-lspconfig": { "branch": "master", "commit": "0044d0987ef7e624d04141d0f90d0481fd3c3663" },
"nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" },
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "5ca4aaa6efdcc59be46b95a3e876300cfead05ef" },
"nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" },
"nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" },
"oil.nvim": { "branch": "master", "commit": "cbcb3f997f6f261c577b943ec94e4ef55108dd95" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"smart-splits.nvim": { "branch": "master", "commit": "3ee3d37d82ee6b7813a8de2087e8020c0811b701" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c" },
"telescope-live-grep-args.nvim": { "branch": "master", "commit": "b80ec2c70ec4f32571478b501218c8979fab5201" },
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
"template.nvim": { "branch": "main", "commit": "308f6f8f0bf98cb7c71855ffa8a3019a5642d1cd" },
"todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" },
"venv-selector.nvim": { "branch": "main", "commit": "58bae72c84b9f7f864c879ec1896e384296f9ffb" },
"vim-fugitive": { "branch": "master", "commit": "61b51c09b7c9ce04e821f6cf76ea4f6f903e3cf4" },
"vim-surround": { "branch": "master", "commit": "3d188ed2113431cf8dac77be61b842acb64433d9" },
"vimtex": { "branch": "master", "commit": "6e1229e23c3bbe93487ef62458b1241a2d8ff6af" },
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
}
@@ -1,8 +0,0 @@
return {
"catppuccin/nvim",
name = "catppuccin",
priority = 1000,
config = function()
vim.cmd([[colorscheme catppuccin-macchiato]])
end,
}
-8
View File
@@ -1,8 +0,0 @@
vim.g.mapleader = " "
local keymap = vim.keymap
keymap.set("i", "jk", "<ESC>", { desc = "Exit out of insert mode" })
keymap.set("n", "<leader>q", "<cmd>wq<CR>", { desc = "Exit NeoVim and Save file" })
keymap.set("n", "<leader>w", "<cmd>w<CR>", { desc = "Save file" })
keymap.set("n", "<leader>-", "gcc", { desc = "Toggle comment" })
-45
View File
@@ -1,45 +0,0 @@
local opt = vim.opt
opt.relativenumber = true
opt.number = true
-- tabs & indentation
opt.tabstop = 2
opt.shiftwidth = 2
opt.expandtab = true
opt.autoindent = true
-- disable line wrapping
opt.wrap = false
-- search settings
opt.ignorecase = true
opt.smartcase = true
-- undo
opt.undodir = os.getenv("HOME") .. "/.vim/undodir"
opt.undofile = true
-- search behaviour
opt.hlsearch = false
opt.incsearch = true
-- colorscheme
opt.termguicolors = true
opt.background = "dark"
opt.signcolumn = "yes"
-- backspace
opt.backspace = "indent,eol,start"
-- clipboard
opt.clipboard:append("unnamedplus")
-- splitting windows
opt.splitright = true
opt.splitbelow = true
opt.iskeyword:append("-")
-- concealer
opt.conceallevel = 2
-18
View File
@@ -1,18 +0,0 @@
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)
require("lazy").setup({
{ import = "jirr02.plugins" },
{ import = "jirr02.core.colorscheme" },
{ import = "jirr02.plugins.lsp" },
})
-12
View File
@@ -1,12 +0,0 @@
local severity = vim.diagnostic.severity
vim.diagnostic.config({
signs = {
text = {
[severity.ERROR] = "",
[severity.WARN] = "",
[severity.HINT] = "󰠠 ",
[severity.INFO] = "",
},
},
})
-25
View File
@@ -1,25 +0,0 @@
return {
"goolord/alpha-nvim",
event = "VimEnter",
dependencies = { "nvim-tree/nvim-web-devicons" },
config = function()
local alpha = require("alpha")
local dashboard = require("alpha.themes.dashboard")
-- Set menu
dashboard.section.buttons.val = {
dashboard.button("e", " > New File", "<cmd>ene<CR>"),
dashboard.button("SPC ee", " > Toggle file explorer", "<cmd>Oil<CR>"),
dashboard.button("SPC ff", "󰱼 > Find File", "<cmd>Telescope find_files<CR>"),
dashboard.button("SPC fs", " > Find Word", "<cmd>Telescope live_grep<CR>"),
dashboard.button("SPC sr", "󰦛 > Resore Session", "<cmd>SessionRestore<CR>"),
dashboard.button("q", " > Quit NVIM", "<cmd>qa<CR>"),
}
-- Send config to alpha
alpha.setup(dashboard.opts)
-- Disable folding on alpha buffer
vim.cmd([[autocmd FileType alpha setlocal nofoldenable]])
end,
}
@@ -1,18 +0,0 @@
return {
"windwp/nvim-autopairs",
event = { "InsertEnter" },
dependencies = {
"hrsh7th/nvim-cmp",
},
config = function()
local autopairs = require("nvim-autopairs")
local cmp_autopairs = require("nvim-autopairs.completion.cmp")
local cmp = require("cmp")
autopairs.setup({
check_ts = true,
})
cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done())
end,
}
@@ -1,9 +0,0 @@
return {
"numToStr/comment.nvim",
event = { "BufReadPre", "BufNewFile" },
config = function()
local comment = require("Comment")
comment.setup({})
end,
}
@@ -1,22 +0,0 @@
return {
"Myzel394/easytables.nvim",
event = { "BufReadPre", "BufNewFile" },
config = function()
local easytables = require("easytables")
local wk = require("which-key")
easytables.setup({})
wk.add({
{ "<leader>m", group = "markdown", icon = "" },
{
"<leader>mt",
function()
vim.ui.input({ prompt = "width x height: " }, function(input)
vim.cmd("EasyTablesCreateNew " .. input)
end)
end,
},
})
end,
}
@@ -1,15 +0,0 @@
return {
"AckslD/nvim-FeMaco.lua",
lazy = true,
dependencies = { "nvim-tree/nvim-web-devicons" },
config = function()
local femaco = require("femaco")
local wk = require("which-key")
femaco.setup({})
wk.add({
{ "<leader>me", "<cmd>FeMaco<CR>", desc = "Edit code block in buffer", icon = "" },
})
end,
}
@@ -1,33 +0,0 @@
return {
"stevearc/conform.nvim",
event = { "BufReadPre", "BufNewFile" },
config = function()
local conform = require("conform")
local wk = require("which-key")
conform.setup({
formatters_by_ft = {
markdown = { "prettier" },
python = { "ruff" },
lua = { "stylua" },
},
format_on_save = {
lsp_fallback = true,
async = false,
timeout_ms = 2500,
},
})
wk.add({
{ "<leader>l", group = "lsp", icon = "" },
{
"<leader>lf",
function()
conform.format({ lsp_fallback = true, async = false, timeout_ms = 1000 })
end,
desc = "Format file",
icon = "󰛖",
},
})
end,
}
@@ -1,4 +0,0 @@
return {
"lewis6991/gitsigns.nvim",
config = true,
}
@@ -1,63 +0,0 @@
return {
"ThePrimeagen/harpoon",
branch = "harpoon2",
dependencies = { "nvim-lua/plenary.nvim" },
config = function()
local harpoon = require("harpoon")
local wk = require("which-key")
harpoon:setup()
wk.add({
{ "<leader>h", group = "harpoon", icon = "󱡀" },
{
"<leader>hi",
function()
harpoon.ui:toggle_quick_menu(harpoon:list())
end,
desc = "Open Harpoon",
icon = "󰮫",
},
{
"<leader>ha",
function()
harpoon:list():add()
end,
desc = "Add Buffer to Harpoon List",
icon = "",
},
{
"<leader>h1",
function()
harpoon:list():select(1)
end,
desc = "Select first Element in Harpoon List",
icon = "",
},
{
"<leader>h2",
function()
harpoon:list():select(2)
end,
desc = "Select second Element in Harpoon List",
icon = "",
},
{
"<leader>h3",
function()
harpoon:list():select(3)
end,
desc = "Select third Element in Harpoon List",
icon = "",
},
{
"<leader>h4",
function()
harpoon:list():select(4)
end,
desc = "Select fourth Element in Harpoon List",
icon = "",
},
})
end,
}
@@ -1,8 +0,0 @@
return {
"lukas-reineke/indent-blankline.nvim",
event = { "BufReadPre", "BufNewFile" },
main = "ibl",
opts = {
indent = { char = "" },
},
}
-6
View File
@@ -1,6 +0,0 @@
return {
{ "nvim-lua/plenary.nvim" },
{ "tpope/vim-surround" },
{ "tpope/vim-fugitive" },
{ "jghauser/follow-md-links.nvim" },
}
@@ -1,23 +0,0 @@
return {
"mfussenegger/nvim-lint",
event = { "BufReadPre", "BufNewFile" },
config = function()
local lint = require("lint")
lint.linters_by_ft = {
python = { "ruff" },
go = { "golangcilint" },
latex = { "vale" },
markdown = { "vale" },
}
local lint_augroup = vim.api.nvim_create_augroup("lint", { clear = true })
vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, {
group = lint_augroup,
callback = function()
lint.try_lint()
end,
})
end,
}
@@ -1,40 +0,0 @@
return {
"hrsh7th/cmp-nvim-lsp",
event = { "BufReadPre", "BufNewFile" },
dependencies = {
{ "folke/lazydev.nvim", ft = "lua", opts = {} },
},
config = function()
local cmp_nvim_lsp = require("cmp_nvim_lsp")
local wk = require("which-key")
local capabilities = cmp_nvim_lsp.default_capabilities()
vim.lsp.config("*", {
capabilities = capabilities,
})
vim.diagnostic.config({
virtual_text = true,
})
wk.add({
{ "<leader>l", group = "lsp", icon = "" },
{ "<leader>lr", "<cmd>Telescope lsp_references<CR>", desc = "Show references", icon = "" },
{ "<leader>lD", "<cmd>lua vim.lsp.buf.defenition()<CR>", desc = "Show defenition", icon = "" },
{ "<leader>lc", "<cmd>lua vim.lsp.buf.code_action()<CR>", desc = "Code actions", icon = "" },
{ "<leader>lR", "<cmd>lua vim.lsp.buf.rename()<CR>", desc = "Smart rename", icon = "󰑕" },
{ "<leader>ld", "<cmd>Telescope diagnostics bufnr=0<CR>", desc = "Diagnostics", icon = "󰍉" },
{ "<leader>ll", "<cmd>lua vim.lsp.buf.open_float()<CR>", desc = "Line Diagnostics", icon = "󰍉" },
{ "<leader>ln", "<cmd>lua vim.diagnostics.goto_next()<CR>", desc = "Go to next Diagnostic", icon = "" },
{
"<leader>lp",
"<cmd>lua vim.diagnostics.goto_prev()<CR>",
desc = "Go to previous Diagnostic",
icon = "",
},
{ "<leader>li", "<cmd>lua vim.lsp.buf.hover()<CR>", desc = "Show documentation", icon = "󰈙" },
{ "<leader>lL", "<cmd>LspRestart<CR>", desc = "Restart LSP", icon = "" },
})
end,
}
@@ -1,39 +0,0 @@
return {
{
"williamboman/mason-lspconfig.nvim",
opts = {
ensure_installed = {
"ruff",
"lua_ls",
"clangd",
"marksman",
"texlab",
"ltex",
"gopls",
},
},
dependencies = {
{ "williamboman/mason.nvim", opts = {} },
"neovim/nvim-lspconfig",
},
},
{
"WhoIsSethDaniel/mason-tool-installer.nvim",
opts = {
ensure_installed = {
"mypy",
"clang-format",
"stylua",
"prettier",
"vale",
"latexindent",
"goimports-reviser",
"golines",
"golangci-lint",
},
},
dependencies = {
"williamboman/mason.nvim",
},
},
}
@@ -1,13 +0,0 @@
return {
"nvim-lualine/lualine.nvim",
dependencies = { "nvim-tree/nvim-web-devicons" },
config = function()
local lualine = require("lualine")
lualine.setup({
options = {
theme = "auto",
},
})
end,
}
-16
View File
@@ -1,16 +0,0 @@
return {
"folke/noice.nvim",
dependencies = {
"MunifTanjim/nui.nvim",
"rcarriga/nvim-notify",
},
config = function()
local noice = require("noice")
noice.setup({
presets = {
long_message_to_split = true,
},
})
end,
}
@@ -1,78 +0,0 @@
return {
"hrsh7th/nvim-cmp",
event = "InsertEnter",
dependencies = {
"hrsh7th/cmp-buffer",
"hrsh7th/cmp-path",
"L3MON4D3/LuaSnip", -- snippet engine
"saadparwaiz1/cmp_luasnip", -- for autocompletion
"rafamadriz/friendly-snippets", -- useful snippets
"onsails/lspkind.nvim",
},
config = function()
local cmp = require("cmp")
local luasnip = require("luasnip")
local lspkind = require("lspkind")
require("luasnip.loaders.from_vscode").lazy_load()
require("luasnip.loaders.from_lua").load({ paths = "~/.config/nvim/snippets/" })
cmp.setup({
completion = {
completeopt = "menu,menuone,preview,noselect",
},
snippet = { -- configure how nvim-cmp interacts with snippet engine
expand = function(args)
luasnip.lsp_expand(args.body)
end,
},
mapping = cmp.mapping.preset.insert({
["<C-k>"] = cmp.mapping.select_prev_item(), -- previous suggestion
["<C-j>"] = cmp.mapping.select_next_item(), -- next suggestion
["<C-b>"] = cmp.mapping.scroll_docs(-4),
["<C-f>"] = cmp.mapping.scroll_docs(4),
["<C-Space>"] = cmp.mapping.complete(), -- show completion suggestions
["<C-s>"] = cmp.mapping.abort(), -- close completion window
["<CR>"] = cmp.mapping.confirm({ select = false }),
["<C-n>"] = cmp.config.disable,
["<C-p>"] = cmp.config.disable,
["<C-h>"] = cmp.config.disable,
["<C-e>"] = cmp.config.disable,
}),
sources = cmp.config.sources({
{ name = "luasnip" }, -- snippets
{ name = "nvim_lsp" }, -- LSP
{ name = "lazydev" },
{ name = "buffer" }, -- text within current buffer
{ name = "path" }, -- file system paths
}),
formatting = {
format = lspkind.cmp_format({
maxwidth = 50,
ellipsis_char = "...",
}),
},
})
luasnip.config.set_config({
history = true,
updateevents = "TextChanged, TextChangedI",
enable_autosnippets = true,
})
vim.keymap.set({ "i" }, "<C-e>", function()
luasnip.expand()
end, { silent = true })
vim.keymap.set({ "i", "s" }, "<C-l>", function()
luasnip.jump(1)
end, { silent = true })
vim.keymap.set({ "i", "s" }, "<C-h>", function()
luasnip.jump(-1)
end, { silent = true })
vim.keymap.set({ "i", "s" }, "<C-n>", function()
luasnip.change_choice(1)
end, { silent = true })
vim.keymap.set({ "i", "s" }, "<C-p>", function()
luasnip.change_choice(-1)
end, { silent = true })
end,
}
-19
View File
@@ -1,19 +0,0 @@
return {
"stevearc/oil.nvim",
dependencies = { "nvim-tree/nvim-web-devicons" },
lazy = false,
config = function()
local oil = require("oil")
local wk = require("which-key")
oil.setup({
view_options = {
show_hidden = true,
},
})
wk.add({
{ "<leader>ee", "<cmd>Oil<CR>", desc = "File Explorer", icon = "" },
})
end,
}
@@ -1,18 +0,0 @@
return {
"mrjones2014/smart-splits.nvim",
config = function()
local smart_splits = require("smart-splits")
smart_splits.setup({})
vim.keymap.set("n", "<C-S-h>", smart_splits.resize_left)
vim.keymap.set("n", "<C-S-j>", smart_splits.resize_down)
vim.keymap.set("n", "<C-S-k>", smart_splits.resize_up)
vim.keymap.set("n", "<C-S-l>", smart_splits.resize_right)
-- moving between splits
vim.keymap.set("n", "<C-h>", smart_splits.move_cursor_left)
vim.keymap.set("n", "<C-j>", smart_splits.move_cursor_down)
vim.keymap.set("n", "<C-k>", smart_splits.move_cursor_up)
vim.keymap.set("n", "<C-l>", smart_splits.move_cursor_right)
end,
}
@@ -1,33 +0,0 @@
return {
"nvim-telescope/telescope.nvim",
branch = "0.1.x",
dependencies = {
"nvim-lua/plenary.nvim",
{ "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
"nvim-tree/nvim-web-devicons",
"nvim-telescope/telescope-live-grep-args.nvim",
},
config = function()
local telescope = require("telescope")
local wk = require("which-key")
telescope.load_extension("fzf")
telescope.load_extension("find_template")
wk.add({
{ "<leader>f", group = "telescope", icon = "" },
{
"<leader>ff",
"<cmd>Telescope find_files<CR>",
desc = "Find Files in Current Working Directory",
icon = "",
},
{ "<leader>fr", "<cmd>Telescope oldfiles<CR>", desc = "Recent Files", icon = "󰙰" },
{ "<leader>fs", "<cmd>Telescope live_grep<CR>", desc = "Find String in CWD", icon = "" },
{ "<leader>fc", "<cmd>Telescope grep_string<CR>", desc = "Find String in File", icon = "" },
{ "<leader>fg", "<cmd>Telescope git_files<CR>", desc = "Find git files", icon = "" },
{ "<leader>ft", "<cmd>TodoTelescope<CR>", desc = "Find todos", icon = "" },
{ "<leader>fn", "<cmd>Telescope neorg switch_workspace<CR>", desc = "Neorg Workspaces", icon = "" },
})
end,
}
@@ -1,23 +0,0 @@
return {
"nvimdev/template.nvim",
cmd = { "Template", "TemProject" },
config = function()
local template = require("template")
local wk = require("which-key")
template.setup({
temp_dir = "~/.config/nvim/templates/",
})
wk.add({
{ "<leader>t", group = "template", icon = "" },
{
"<leader>ti",
"<cmd>Telescope find_template type=insert filter_ft=false<CR>",
desc = "Insert template",
icon = "",
},
{ "<leader>tl", "<cmd>!theory<CR>", desc = "Insert latex notebook template", icon = "" },
})
end,
}
@@ -1,8 +0,0 @@
return {
"folke/todo-comments.nvim",
event = { "BufReadPre", "BufNewFile" },
dependencies = {
"nvim-lua/plenary.nvim",
},
opts = {}
}
@@ -1,42 +0,0 @@
return {
"nvim-treesitter/nvim-treesitter-textobjects",
lazy = true,
config = function()
require("nvim-treesitter.configs").setup({
textobjects = {
select = {
enable = true,
lookahead = true,
keymaps = {
["a="] = { query = "@assignment.outer", desc = "Select outer part of an assignment" },
["i="] = { query = "@assignment.inner", desc = "Select inner part of an assignment" },
["l="] = { query = "@assignment.lhs", desc = "Select left hand side of an assignment" },
["r="] = { query = "@assignment.rhs", desc = "Select right hand side of an assignment" },
["a:"] = { query = "@property.outer", desc = "Select outer part of an object property" },
["i:"] = { query = "@property.inner", desc = "Select inner part of an object property" },
["l:"] = { query = "@property.lhs", desc = "Select left part of an object property" },
["r:"] = { query = "@property.rhs", desc = "Select right part of an object property" },
["aa"] = { query = "@parameter.outer", desc = "Select outer part of a parameter/argument" },
["ia"] = { query = "@parameter.inner", desc = "Select inner part of a parameter/argument" },
["ai"] = { query = "@conditional.outer", desc = "Select outer part of a conditional" },
["ii"] = { query = "@conditional.inner", desc = "Select inner part of a conditional" },
["al"] = { query = "@loop.outer", desc = "Select outer part of a loop" },
["il"] = { query = "@loop.inner", desc = "Select inner part of a loop" },
["af"] = { query = "@call.outer", desc = "Select outer part of a function call" },
["if"] = { query = "@call.inner", desc = "Select inner part of a function call" },
["am"] = {
query = "@function.outer",
desc = "Select outer part of a method or function definition",
},
["im"] = {
query = "@function.inner",
desc = "Select inner part of a method or function definition",
},
["ac"] = { query = "@class.outer", desc = "Select outer part of a class" },
["ic"] = { query = "@class.inner", desc = "Select inner part of a class" },
},
},
},
})
end,
}
@@ -1,45 +0,0 @@
return {
"nvim-treesitter/nvim-treesitter",
build = ":TSUpdate",
event = { "BufReadPre", "BufNewFile" },
dependencies = {
"nvim-treesitter/nvim-treesitter-textobjects",
"windwp/nvim-ts-autotag",
},
config = function()
local treesitter = require("nvim-treesitter.configs")
treesitter.setup({
highlight = {
enable = true,
additional_vim_regex_highlighting = { "latex" },
},
indent = {
enable = true,
},
autotag = {
enable = true,
},
ensure_installed = {
"python",
"cpp",
"lua",
"markdown_inline",
"html",
"css",
"bash",
"latex",
"r",
},
incremental_selection = {
enable = true,
keymaps = {
init_selection = "<C-space>",
node_incremental = "<C-space>",
scope_incremental = false,
node_decremental = "<bs>",
},
},
})
end,
}
@@ -1,14 +0,0 @@
return {
"linux-cultist/venv-selector.nvim",
dependencies = {
"neovim/nvim-lspconfig",
},
ft = "python", -- Load when opening Python files
keys = {
{ ",v", "<cmd>VenvSelect<cr>" }, -- Open picker on keymap
},
opts = { -- this can be an empty lua table - just showing below for clarity.
search = {}, -- if you add your own searches, they go here.
options = {}, -- if you add plugin options, they go here.
},
}
@@ -1,21 +0,0 @@
return {
"lervag/vimtex",
lazy = false,
init = function()
local wk = require("which-key")
vim.g.vimtex_view_method = "zathura"
vim.g.vimtex_quickfix_mode = 0
vim.g.vimtex_compiler_latexmk_engines = {
_ = "-lualatex",
}
vim.g.vimtex_fold_enabled = true
vim.g.vimtex_format_enabled = true
wk.add({
{ "<leader>v", group = "vimtex", icon = "" },
{ "<leader>vc", "<cmd>VimtexCompile<CR>", desc = "Compile LaTeX File", icon = "" },
{ "<leader>vC", "<cmd>VimtexClean<CR>", desc = "Clean LaTeX directory", icon = "" },
})
end,
}
@@ -1,27 +0,0 @@
return {
"folke/which-key.nvim",
event = "VeryLazy",
init = function()
vim.o.timeout = true
vim.o.timeoutlen = 500
end,
config = function()
local wk = require("which-key")
wk.add({
{ "<leader>n", group = "vim", icon = "" },
{ "<leader>nh", "<cmd>nohl<CR>", desc = "Close Search Highlights", icon = "" },
{ "<leader>no", "<cmd>foldopen<CR>", desc = "Open Fold", icon = "" },
{ "<leader>nc", "<cmd>foldclose<CR>", desc = "Close Fold", icon = "" },
{ "<leader>s", group = "splits", icon = "󱓡" },
{ "<leader>sv", "<C-w>v", desc = "Split vertical", icon = "" },
{ "<leader>sh", "<C-w>s", desc = "Split horizontal", icon = "" },
{ "<leader>se", "<C-w>=", desc = "Make Splits equal", icon = "󰤼" },
{ "<leader>sx", "<cmd>close<CR>", desc = "Close Split", icon = "󰅚" },
{ "<leader>i", group = "interface", icon = "󰮫" },
{ "<leader>il", "<cmd>Lazy<CR>", desc = "Open Lazy Menu" },
{ "<leader>im", "<cmd>Mason<CR>", desc = "Open Mason Menu" },
{ "<leader>ie", "<cmd>VenvSelect<CR>", desc = "Python Virtual Environment Selector" },
})
end,
}
-20
View File
@@ -1,20 +0,0 @@
local ls = require("luasnip") --{{{
local s = ls.s
local i = ls.i
local t = ls.t
local d = ls.dynamic_node
local c = ls.choice_node
local f = ls.function_node
local sn = ls.snippet_node
local fmt = require("luasnip.extras.fmt").fmt
local rep = require("luasnip.extras").rep
local snippets, autosnippets = {}, {} --}}}
-- Start Snippets --
-- End Snippets --
return snippets, autosnippets
-54
View File
@@ -1,54 +0,0 @@
local ls = require("luasnip") --{{{
local s = ls.s
local i = ls.i
local t = ls.t
local d = ls.dynamic_node
local c = ls.choice_node
local f = ls.function_node
local sn = ls.snippet_node
local fmt = require("luasnip.extras.fmt").fmt
local rep = require("luasnip.extras").rep
local snippets, autosnippets = {}, {} --}}}
-- Start Snippets --
local snip = s(
{ trig = "snip", desc = "Snippet for LuaSnip" },
fmt(
[=[
local {} = s(
{{ trig = "{}", {}desc = "{}"}},
fmt(
[[
{}
]],
{{
{}
}}
){}
)
table.insert({}, {})
{}
]=],
{
i(1, "Name of Snippet"),
i(2, "Trigger"),
c(3, { t(""), t("regTrig = true, ") }),
i(4, "Description"),
i(5, "Snippet"),
i(6, "Nodes"),
c(7, { t(""), t({ ",", " {", " condition = math,", " show_condition=math,", " }" }) }),
c(8, { t("snippets"), t("autosnippets") }),
rep(1),
i(0),
}
)
)
table.insert(snippets, snip)
-- End Snippets --
return snippets, autosnippets
-115
View File
@@ -1,115 +0,0 @@
local ls = require("luasnip") --{{{
local s = ls.s
local i = ls.i
local t = ls.t
local d = ls.dynamic_node
local c = ls.choice_node
local f = ls.function_node
local sn = ls.snippet_node
local fmt = require("luasnip.extras.fmt").fmt
local rep = require("luasnip.extras").rep
local snippets, autosnippets = {}, {} --}}}
-- Start Snippets --
local code = s(
{ trig = "code", desc = "Code Section" },
fmt(
[[
```{}
```
]],
{
i(1, "Language"),
}
)
)
table.insert(autosnippets, code)
local sig = s(
{ trig = "sig", desc = "Signature" },
fmt(
[[
---
Made with ❤️ by JirR02 in Switzerland 🇨🇭
]],
{}
)
)
table.insert(autosnippets, sig)
local disclaimeren = s(
{ trig = "disen", desc = "Disclaimer EN" },
fmt(
[[
## DISCLAIMER
{} compiled based on the lecture {} by {}.
I accept no liability for any potential errors within {}. Please be aware that {} processed with the assistance of NotebookLM. While AI is a powerful tool, it may produce technical inaccuracies or "hallucinations". Furthermore, I have paraphrased sections and added personal observations, which may introduce further errors.
**Copyright & Content Note:** This is an unofficial resource and is not affiliated with or endorsed by ETH Zurich. As {} generated with the assistance of AI, I cannot guarantee that all content has been sufficiently paraphrased. Some sections may closely mirror or directly quote the original presentation slides or scripts. All intellectual property rights for the original course content remain with the respective authors at ETH Zurich.
**Notice to Rights Holders:** This document is shared for educational purposes. If you are a rights holder and object to the inclusion of any content, please contact me, and I will remove it immediately.
Unless stated otherwise, all graphics were generated personally.
Errors or copyright concerns can be reported via email to [jirruh@ethz.ch](mailto:jirruh@ethz.ch). {}
]],
{
c(1, { t("These notes were"), t("These notes and this summary were"), t("This summary was") }),
i(2, "Name of Lecture"),
i(3, "Name of Professor"),
c(4, { t("these notes"), t("these notes and this summary"), t("this summary") }),
c(5, { t("these notes were"), t("these notes and this summary were"), t("this summary was") }),
rep(4),
i(0),
}
)
)
table.insert(autosnippets, disclaimeren)
local disclaimerde = s(
{ trig = "disde", desc = "Disclaimer DE" },
fmt(
[[
## DISCLAIMER
Diese {} auf der Vorlesung {} von {}.
Ich übernehme keine Haftung für mögliche Fehler in {}. Bitte beachten Sie, dass diese {} unter Zuhilfenahme von NotebookLM erstellt {}. Obwohl KI ein leistungsstarkes Werkzeug ist, kann sie technische Ungenauigkeiten oder sogenannte „Halluzinationen“ erzeugen. Darüber hinaus habe ich Abschnitte paraphrasiert und eigene Beobachtungen hinzugefügt, was weitere Fehlerquellen darstellen kann.
**Urheberrecht & Inhaltlicher Hinweis:** Dies ist eine inoffizielle Ressource; sie steht in keiner Verbindung zur ETH Zürich und wird von dieser nicht unterstützt. Da diese {} mit Hilfe von KI erstellt {}, kann ich nicht garantieren, dass alle Inhalte ausreichend umformuliert wurden. Einige Abschnitte können den ursprünglichen Präsentationsfolien oder Skripten stark ähneln oder diese direkt zitieren. Alle geistigen Eigentumsrechte am ursprünglichen Kursinhalt verbleiben bei den jeweiligen Autoren der ETH Zürich.
**Hinweis für Rechteinhaber:** Dieses Dokument wird ausschließlich zu Bildungszwecken geteilt. Wenn Sie Rechteinhaber sind und der Aufnahme bestimmter Inhalte widersprechen, kontaktieren Sie mich bitte, und ich werde diese umgehend entfernen.
Sofern nicht anders angegeben, wurden alle Grafiken persönlich erstellt.
Fehler oder Urheberrechtsbedenken können per E-Mail an [jirruh@ethz.ch](mailto:jirruh@ethz.ch) gemeldet werden. {}
]],
{
c(
1,
{ t("Notizen basieren"), t("Notizen und diese Zusammenfassung basieren"), t("Zusammenfassung basiert") }
),
i(2, "Name of Lecture"),
i(3, "Name of Professor"),
c(4, { t("diesen Notizen"), t("diesen Notizen und dieser Zusammenfassung"), t("dieser Zusammenfassung") }),
rep(1),
c(5, { t("wurde"), t("wurden") }),
rep(1),
rep(5),
i(0),
}
)
)
table.insert(autosnippets, disclaimerde)
-- End Snippets --
return snippets, autosnippets
File diff suppressed because it is too large Load Diff
@@ -1,38 +0,0 @@
\documentclass[a4paper,11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{paralist}
\usepackage{geometry}
\geometry{left=2.5cm, right=2.5cm, top=2.5cm, bottom=2cm}
\setlength{\parindent}{0pt}
% TODO: Change Title Variable
\def\papertitle{Title}
\bibliographystyle{unsrt}
\pagestyle{fancy}
\lhead{\papertitle}
\rhead{Jirayu Ruh}
\lfoot{}
\cfoot{\thepage}
\rfoot{}
\setcounter{secnumdepth}{5}
\setcounter{tocdepth}{5}
\begin{document}
\section{\papertitel}
% TODO: Begin Paper here.
\end{document}
@@ -1,59 +0,0 @@
\documentclass[a4paper,11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{paralist}
\usepackage{geometry}
\geometry{left=2.5cm, right=2.5cm, top=2.5cm, bottom=2cm}
\usepackage[onehalfspacing]{setspace}
% TODO: Change Variables
\def\paperauthor{Jirayu Ruh}
\def\papertitle{Title}
\def\paperthesis{Thesis}
\def\paperdate{Due Date}
% TODO: Change Word Count
\def\paperwordcount{Word Count}
\pagestyle{fancy}
\lhead{}
\rhead{\paperauthor}
\lfoot{}
\cfoot{\thepage}
\rfoot{}
\setcounter{secnumdepth}{5}
\setcounter{tocdepth}{5}
\setlength{\parindent}{0pt}
\begin{document}
\begin{titlepage}
\centering
{\LARGE \textbf{\papertitle} \par}
\vspace{2cm}
% TODO: Change depending on language
{\Large \textbf{These:} \par}
% {\Large \textbf{Thesis:} \par}
{\Large \textbf{\paperthesis} \par}
\vspace{2cm}
{\Large Jirayu Ruh\par}
\vspace{0.5cm}
{\Large \paperdate \par}
\vspace{5cm}
{\Large Word count: \paperwordcount}
\end{titlepage}
\section{Title}
% TODO: Begin your paper here.
\end{document}
@@ -1,178 +0,0 @@
% Things Lie
\newcommand{\kb}{\mathfrak b}
\newcommand{\kg}{\mathfrak g}
\newcommand{\kh}{\mathfrak h}
\newcommand{\kn}{\mathfrak n}
\newcommand{\ku}{\mathfrak u}
\newcommand{\kz}{\mathfrak z}
\DeclareMathOperator{\Ext}{Ext} % Ext functor
\DeclareMathOperator{\Tor}{Tor} % Tor functor
\newcommand{\gl}{\opname{\mathfrak{gl}}} % frak gl group
\renewcommand{\sl}{\opname{\mathfrak{sl}}} % frak sl group chktex 6
% More script letters etc.
\newcommand{\SA}{\mathcal A}
\newcommand{\SB}{\mathcal B}
\newcommand{\SC}{\mathcal C}
\newcommand{\SF}{\mathcal F}
\newcommand{\SG}{\mathcal G}
\newcommand{\SH}{\mathcal H}
\newcommand{\OO}{\mathcal O}
\newcommand{\SCA}{\mathscr A}
\newcommand{\SCB}{\mathscr B}
\newcommand{\SCC}{\mathscr C}
\newcommand{\SCD}{\mathscr D}
\newcommand{\SCE}{\mathscr E}
\newcommand{\SCF}{\mathscr F}
\newcommand{\SCG}{\mathscr G}
\newcommand{\SCH}{\mathscr H}
% Mathfrak primes
\newcommand{\km}{\mathfrak m}
\newcommand{\kp}{\mathfrak p}
\newcommand{\kq}{\mathfrak q}
% number sets
\newcommand{\RR}[1][]{\ensuremath{\ifstrempty{#1}{\mathbb{R}}{\mathbb{R}^{#1}}}}
\newcommand{\NN}[1][]{\ensuremath{\ifstrempty{#1}{\mathbb{N}}{\mathbb{N}^{#1}}}}
\newcommand{\ZZ}[1][]{\ensuremath{\ifstrempty{#1}{\mathbb{Z}}{\mathbb{Z}^{#1}}}}
\newcommand{\QQ}[1][]{\ensuremath{\ifstrempty{#1}{\mathbb{Q}}{\mathbb{Q}^{#1}}}}
\newcommand{\CC}[1][]{\ensuremath{\ifstrempty{#1}{\mathbb{C}}{\mathbb{C}^{#1}}}}
\newcommand{\PP}[1][]{\ensuremath{\ifstrempty{#1}{\mathbb{P}}{\mathbb{P}^{#1}}}}
\newcommand{\HH}[1][]{\ensuremath{\ifstrempty{#1}{\mathbb{H}}{\mathbb{H}^{#1}}}}
\newcommand{\FF}[1][]{\ensuremath{\ifstrempty{#1}{\mathbb{F}}{\mathbb{F}^{#1}}}}
% expected value
\newcommand{\EE}{\ensuremath{\mathbb{E}}}
\newcommand{\charin}{\text{ char }}
\DeclareMathOperator{\sign}{sign}
\DeclareMathOperator{\Aut}{Aut}
\DeclareMathOperator{\Inn}{Inn}
\DeclareMathOperator{\Syl}{Syl}
\DeclareMathOperator{\Gal}{Gal}
\DeclareMathOperator{\GL}{GL} % General linear group
\DeclareMathOperator{\SL}{SL} % Special linear group
%---------------------------------------
% BlackBoard Math Fonts :-
%---------------------------------------
%Captital Letters
\newcommand{\bbA}{\mathbb{A}} \newcommand{\bbB}{\mathbb{B}}
\newcommand{\bbC}{\mathbb{C}} \newcommand{\bbD}{\mathbb{D}}
\newcommand{\bbE}{\mathbb{E}} \newcommand{\bbF}{\mathbb{F}}
\newcommand{\bbG}{\mathbb{G}} \newcommand{\bbH}{\mathbb{H}}
\newcommand{\bbI}{\mathbb{I}} \newcommand{\bbJ}{\mathbb{J}}
\newcommand{\bbK}{\mathbb{K}} \newcommand{\bbL}{\mathbb{L}}
\newcommand{\bbM}{\mathbb{M}} \newcommand{\bbN}{\mathbb{N}}
\newcommand{\bbO}{\mathbb{O}} \newcommand{\bbP}{\mathbb{P}}
\newcommand{\bbQ}{\mathbb{Q}} \newcommand{\bbR}{\mathbb{R}}
\newcommand{\bbS}{\mathbb{S}} \newcommand{\bbT}{\mathbb{T}}
\newcommand{\bbU}{\mathbb{U}} \newcommand{\bbV}{\mathbb{V}}
\newcommand{\bbW}{\mathbb{W}} \newcommand{\bbX}{\mathbb{X}}
\newcommand{\bbY}{\mathbb{Y}} \newcommand{\bbZ}{\mathbb{Z}}
%---------------------------------------
% MathCal Fonts :-
%---------------------------------------
%Captital Letters
\newcommand{\mcA}{\mathcal{A}} \newcommand{\mcB}{\mathcal{B}}
\newcommand{\mcC}{\mathcal{C}} \newcommand{\mcD}{\mathcal{D}}
\newcommand{\mcE}{\mathcal{E}} \newcommand{\mcF}{\mathcal{F}}
\newcommand{\mcG}{\mathcal{G}} \newcommand{\mcH}{\mathcal{H}}
\newcommand{\mcI}{\mathcal{I}} \newcommand{\mcJ}{\mathcal{J}}
\newcommand{\mcK}{\mathcal{K}} \newcommand{\mcL}{\mathcal{L}}
\newcommand{\mcM}{\mathcal{M}} \newcommand{\mcN}{\mathcal{N}}
\newcommand{\mcO}{\mathcal{O}} \newcommand{\mcP}{\mathcal{P}}
\newcommand{\mcQ}{\mathcal{Q}} \newcommand{\mcR}{\mathcal{R}}
\newcommand{\mcS}{\mathcal{S}} \newcommand{\mcT}{\mathcal{T}}
\newcommand{\mcU}{\mathcal{U}} \newcommand{\mcV}{\mathcal{V}}
\newcommand{\mcW}{\mathcal{W}} \newcommand{\mcX}{\mathcal{X}}
\newcommand{\mcY}{\mathcal{Y}} \newcommand{\mcZ}{\mathcal{Z}}
%---------------------------------------
% Bold Math Fonts :-
%---------------------------------------
%Captital Letters
\newcommand{\bmA}{\boldsymbol{A}} \newcommand{\bmB}{\boldsymbol{B}}
\newcommand{\bmC}{\boldsymbol{C}} \newcommand{\bmD}{\boldsymbol{D}}
\newcommand{\bmE}{\boldsymbol{E}} \newcommand{\bmF}{\boldsymbol{F}}
\newcommand{\bmG}{\boldsymbol{G}} \newcommand{\bmH}{\boldsymbol{H}}
\newcommand{\bmI}{\boldsymbol{I}} \newcommand{\bmJ}{\boldsymbol{J}}
\newcommand{\bmK}{\boldsymbol{K}} \newcommand{\bmL}{\boldsymbol{L}}
\newcommand{\bmM}{\boldsymbol{M}} \newcommand{\bmN}{\boldsymbol{N}}
\newcommand{\bmO}{\boldsymbol{O}} \newcommand{\bmP}{\boldsymbol{P}}
\newcommand{\bmQ}{\boldsymbol{Q}} \newcommand{\bmR}{\boldsymbol{R}}
\newcommand{\bmS}{\boldsymbol{S}} \newcommand{\bmT}{\boldsymbol{T}}
\newcommand{\bmU}{\boldsymbol{U}} \newcommand{\bmV}{\boldsymbol{V}}
\newcommand{\bmW}{\boldsymbol{W}} \newcommand{\bmX}{\boldsymbol{X}}
\newcommand{\bmY}{\boldsymbol{Y}} \newcommand{\bmZ}{\boldsymbol{Z}}
%Small Letters
\newcommand{\bma}{\boldsymbol{a}} \newcommand{\bmb}{\boldsymbol{b}}
\newcommand{\bmc}{\boldsymbol{c}} \newcommand{\bmd}{\boldsymbol{d}}
\newcommand{\bme}{\boldsymbol{e}} \newcommand{\bmf}{\boldsymbol{f}}
\newcommand{\bmg}{\boldsymbol{g}} \newcommand{\bmh}{\boldsymbol{h}}
\newcommand{\bmi}{\boldsymbol{i}} \newcommand{\bmj}{\boldsymbol{j}}
\newcommand{\bmk}{\boldsymbol{k}} \newcommand{\bml}{\boldsymbol{l}}
\newcommand{\bmm}{\boldsymbol{m}} \newcommand{\bmn}{\boldsymbol{n}}
\newcommand{\bmo}{\boldsymbol{o}} \newcommand{\bmp}{\boldsymbol{p}}
\newcommand{\bmq}{\boldsymbol{q}} \newcommand{\bmr}{\boldsymbol{r}}
\newcommand{\bms}{\boldsymbol{s}} \newcommand{\bmt}{\boldsymbol{t}}
\newcommand{\bmu}{\boldsymbol{u}} \newcommand{\bmv}{\boldsymbol{v}}
\newcommand{\bmw}{\boldsymbol{w}} \newcommand{\bmx}{\boldsymbol{x}}
\newcommand{\bmy}{\boldsymbol{y}} \newcommand{\bmz}{\boldsymbol{z}}
%---------------------------------------
% Scr Math Fonts :-
%---------------------------------------
\newcommand{\sA}{{\mathscr{A}}} \newcommand{\sB}{{\mathscr{B}}}
\newcommand{\sC}{{\mathscr{C}}} \newcommand{\sD}{{\mathscr{D}}}
\newcommand{\sE}{{\mathscr{E}}} \newcommand{\sF}{{\mathscr{F}}}
\newcommand{\sG}{{\mathscr{G}}} \newcommand{\sH}{{\mathscr{H}}}
\newcommand{\sI}{{\mathscr{I}}} \newcommand{\sJ}{{\mathscr{J}}}
\newcommand{\sK}{{\mathscr{K}}} \newcommand{\sL}{{\mathscr{L}}}
\newcommand{\sM}{{\mathscr{M}}} \newcommand{\sN}{{\mathscr{N}}}
\newcommand{\sO}{{\mathscr{O}}} \newcommand{\sP}{{\mathscr{P}}}
\newcommand{\sQ}{{\mathscr{Q}}} \newcommand{\sR}{{\mathscr{R}}}
\newcommand{\sS}{{\mathscr{S}}} \newcommand{\sT}{{\mathscr{T}}}
\newcommand{\sU}{{\mathscr{U}}} \newcommand{\sV}{{\mathscr{V}}}
\newcommand{\sW}{{\mathscr{W}}} \newcommand{\sX}{{\mathscr{X}}}
\newcommand{\sY}{{\mathscr{Y}}} \newcommand{\sZ}{{\mathscr{Z}}}
%---------------------------------------
% Math Fraktur Font
%---------------------------------------
%Captital Letters
\newcommand{\mfA}{\mathfrak{A}} \newcommand{\mfB}{\mathfrak{B}}
\newcommand{\mfC}{\mathfrak{C}} \newcommand{\mfD}{\mathfrak{D}}
\newcommand{\mfE}{\mathfrak{E}} \newcommand{\mfF}{\mathfrak{F}}
\newcommand{\mfG}{\mathfrak{G}} \newcommand{\mfH}{\mathfrak{H}}
\newcommand{\mfI}{\mathfrak{I}} \newcommand{\mfJ}{\mathfrak{J}}
\newcommand{\mfK}{\mathfrak{K}} \newcommand{\mfL}{\mathfrak{L}}
\newcommand{\mfM}{\mathfrak{M}} \newcommand{\mfN}{\mathfrak{N}}
\newcommand{\mfO}{\mathfrak{O}} \newcommand{\mfP}{\mathfrak{P}}
\newcommand{\mfQ}{\mathfrak{Q}} \newcommand{\mfR}{\mathfrak{R}}
\newcommand{\mfS}{\mathfrak{S}} \newcommand{\mfT}{\mathfrak{T}}
\newcommand{\mfU}{\mathfrak{U}} \newcommand{\mfV}{\mathfrak{V}}
\newcommand{\mfW}{\mathfrak{W}} \newcommand{\mfX}{\mathfrak{X}}
\newcommand{\mfY}{\mathfrak{Y}} \newcommand{\mfZ}{\mathfrak{Z}}
%Small Letters
\newcommand{\mfa}{\mathfrak{a}} \newcommand{\mfb}{\mathfrak{b}}
\newcommand{\mfc}{\mathfrak{c}} \newcommand{\mfd}{\mathfrak{d}}
\newcommand{\mfe}{\mathfrak{e}} \newcommand{\mff}{\mathfrak{f}}
\newcommand{\mfg}{\mathfrak{g}} \newcommand{\mfh}{\mathfrak{h}}
\newcommand{\mfi}{\mathfrak{i}} \newcommand{\mfj}{\mathfrak{j}}
\newcommand{\mfk}{\mathfrak{k}} \newcommand{\mfl}{\mathfrak{l}}
\newcommand{\mfm}{\mathfrak{m}} \newcommand{\mfn}{\mathfrak{n}}
\newcommand{\mfo}{\mathfrak{o}} \newcommand{\mfp}{\mathfrak{p}}
\newcommand{\mfq}{\mathfrak{q}} \newcommand{\mfr}{\mathfrak{r}}
\newcommand{\mfs}{\mathfrak{s}} \newcommand{\mft}{\mathfrak{t}}
\newcommand{\mfu}{\mathfrak{u}} \newcommand{\mfv}{\mathfrak{v}}
\newcommand{\mfw}{\mathfrak{w}} \newcommand{\mfx}{\mathfrak{x}}
\newcommand{\mfy}{\mathfrak{y}} \newcommand{\mfz}{\mathfrak{z}}
@@ -1,88 +0,0 @@
%From M275 "Topology" at SJSU
\newcommand{\id}{\mathrm{id}}
\newcommand{\taking}[1]{\xrightarrow{#1}}
\newcommand{\inv}{^{-1}}
%From M170 "Introduction to Graph Theory" at SJSU
\DeclareMathOperator{\diam}{diam}
\DeclareMathOperator{\ord}{ord}
\newcommand{\defeq}{\overset{\mathrm{def}}{=}}
%From the USAMO .tex files
\newcommand{\ts}{\textsuperscript}
\newcommand{\dg}{^\circ}
\newcommand{\ii}{\item}
% % From Math 55 and Math 145 at Harvard
% \newenvironment{subproof}[1][Proof]{%
% \begin{proof}[#1] \renewcommand{\qedsymbol}{$\blacksquare$}}%
% {\end{proof}}
\newcommand{\liff}{\leftrightarrow}
\newcommand{\lthen}{\rightarrow}
\newcommand{\opname}{\operatorname}
\newcommand{\surjto}{\twoheadrightarrow}
\newcommand{\injto}{\hookrightarrow}
\newcommand{\On}{\mathrm{On}} % ordinals
\DeclareMathOperator{\img}{im} % Image
\DeclareMathOperator{\Img}{Im} % Image
\DeclareMathOperator{\coker}{coker} % Cokernel
\DeclareMathOperator{\Coker}{Coker} % Cokernel
\DeclareMathOperator{\Ker}{Ker} % Kernel
\DeclareMathOperator{\rank}{rank}
\DeclareMathOperator{\Spec}{Spec} % spectrum
\DeclareMathOperator{\Tr}{Tr} % trace
\DeclareMathOperator{\pr}{pr} % projection
\DeclareMathOperator{\ext}{ext} % extension
\DeclareMathOperator{\pred}{pred} % predecessor
\DeclareMathOperator{\dom}{dom} % domain
\DeclareMathOperator{\ran}{ran} % range
\DeclareMathOperator{\Hom}{Hom} % homomorphism
\DeclareMathOperator{\Mor}{Mor} % morphisms
\DeclareMathOperator{\End}{End} % endomorphism
\newcommand{\eps}{\epsilon}
\newcommand{\veps}{\varepsilon}
\newcommand{\ol}{\overline}
\newcommand{\ul}{\underline}
\newcommand{\wt}{\widetilde}
\newcommand{\wh}{\widehat}
\newcommand{\vocab}[1]{\textbf{\color{blue} #1}}
\providecommand{\half}{\frac{1}{2}}
\newcommand{\dang}{\measuredangle} %% Directed angle
\newcommand{\ray}[1]{\overrightarrow{#1}}
\newcommand{\seg}[1]{\overline{#1}}
\newcommand{\arc}[1]{\wideparen{#1}}
\DeclareMathOperator{\cis}{cis}
\DeclareMathOperator*{\lcm}{lcm}
\DeclareMathOperator*{\argmin}{arg min}
\DeclareMathOperator*{\argmax}{arg max}
\newcommand{\cycsum}{\sum_{\mathrm{cyc}}}
\newcommand{\symsum}{\sum_{\mathrm{sym}}}
\newcommand{\cycprod}{\prod_{\mathrm{cyc}}}
\newcommand{\symprod}{\prod_{\mathrm{sym}}}
\newcommand{\Qed}{\begin{flushright}\qed\end{flushright}}
\newcommand{\parinn}{\setlength{\parindent}{1cm}}
\newcommand{\parinf}{\setlength{\parindent}{0cm}}
% \newcommand{\norm}{\|\cdot\|}
\newcommand{\inorm}{\norm_{\infty}}
\newcommand{\opensets}{\{V_{\alpha}\}_{\alpha\in I}}
\newcommand{\oset}{V_{\alpha}}
\newcommand{\opset}[1]{V_{\alpha_{#1}}}
\newcommand{\lub}{\text{lub}}
\newcommand{\del}[2]{\frac{\partial #1}{\partial #2}}
\newcommand{\Del}[3]{\frac{\partial^{#1} #2}{\partial^{#1} #3}}
\newcommand{\deld}[2]{\dfrac{\partial #1}{\partial #2}}
\newcommand{\Deld}[3]{\dfrac{\partial^{#1} #2}{\partial^{#1} #3}}
\newcommand{\lm}{\lambda}
\newcommand{\uin}{\mathbin{\rotatebox[origin=c]{90}{$\in$}}}
\newcommand{\usubset}{\mathbin{\rotatebox[origin=c]{90}{$\subset$}}}
\newcommand{\lt}{\left}
\newcommand{\rt}{\right}
\newcommand{\bs}[1]{\boldsymbol{#1}}
\newcommand{\exs}{\exists}
\newcommand{\st}{\strut}
\newcommand{\dps}[1]{\displaystyle{#1}}
\newcommand{\sol}{\setlength{\parindent}{0cm}\textbf{\textit{\solutiontitle :}}\setlength{\parindent}{0cm} }
\newcommand{\solve}[1]{\setlength{\parindent}{0cm}\textbf{\textit{\solutiontitle : }}\setlength{\parindent}{0cm}#1 \Qed}
@@ -1,57 +0,0 @@
\documentclass{report}
% TODO: Change Variables
\def\papertitle{Title}
% TODO: Change variables according to language preference
\def\theorytitle{Theory}
\def\theorytitle{Theorie}
\def\notetitle{Bemerkung:-}
\def\notetitle{Note:=}
\def\corollarytitle{Corollary}
\def\corollarytitle{Korollar}
\def\proposaltitle{Proposal}
\def\proposaltitle{Vorschlag}
\def\claimtitle{Claim}
\def\claimtitle{Behauptung}
\def\exercisetitle{Exercise}
\def\exercisetitle{Aufgabe}
\def\exampletitle{Example}
\def\exampletitle{Beispiel}
\def\questiontitle{Question}
\def\questiontitle{Frage}
\def\wrongctitle{Wrong Concept}
\def\wrongctitle{Falscher Konzept}
\def\pagetitle{Page}
\def\pagetitle{Seite}
\def\chaptertitle{Chapter}
\def\chaptertitle{Kapitel}
\def\solutiontitle{Solution}
\def\solutiontitle{Lösung}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Normal / Catppucchin Macchiato Theme %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\input{preamble}
% \input{preamble_macchiato}
\input{macros}
\input{letterfonts}
\title{\huge{\papertitle}}
\author{\huge{Jirayu Ruh}}
\date{}
\begin{document}
\maketitle
\newpage% or \cleardoublepage
% \pdfbookmark[<level>]{<title>}{<dest>}
\pdfbookmark[section]{\contentsname}{toc}
\tableofcontents
\pagebreak
% TODO: Begin Paper here.
\end{document}
@@ -1,780 +0,0 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% PACKAGE IMPORTS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{listings}
\usepackage[german]{babel}
\usepackage[tmargin=2cm,rmargin=1in,lmargin=1in,margin=0.85in,bmargin=2cm,footskip=.2in]{geometry}
\usepackage{amsmath,amsfonts,amsthm,amssymb,mathtools}
\usepackage[varbb]{newpxmath}
\usepackage{xfrac}
\usepackage[makeroom]{cancel}
\usepackage{mathtools}
\usepackage{bookmark}
\usepackage{enumitem}
\usepackage{hyperref,theoremref}
\hypersetup{
pdftitle={notizen_analysis_I_II_ruh_jirayu},
colorlinks=true, linkcolor=doc!90,
bookmarksnumbered=true,
bookmarksopen=true
}
\usepackage[most,many,breakable]{tcolorbox}
\usepackage{xcolor}
\usepackage{varwidth}
\usepackage{varwidth}
\usepackage{etoolbox}
%\usepackage{authblk}
\usepackage{nameref}
\usepackage{multicol,array}
\usepackage{tikz-cd}
\usepackage[ruled,vlined,linesnumbered]{algorithm2e}
\usepackage{comment} % enables the use of multi-line comments (\ifx \fi)
\usepackage{import}
\usepackage{xifthen}
\usepackage{pdfpages}
\usepackage{transparent}
\newcommand\mycommfont[1]{\footnotesize\ttfamily\textcolor{blue}{#1}}
\SetCommentSty{mycommfont}
\newcommand{\incfig}[1]{%
\def\svgwidth{\columnwidth}
\import{./figures/}{#1.pdf_tex}
}
\usepackage{tikzsymbols}
\renewcommand\qedsymbol{$\Laughey$}
\everymath{\displaystyle}
%\usepackage{import}
%\usepackage{xifthen}
%\usepackage{pdfpages}
%\usepackage{transparent}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% SELF MADE COLORS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\definecolor{myg}{RGB}{56, 140, 70}
\definecolor{myb}{RGB}{45, 111, 177}
\definecolor{myr}{RGB}{199, 68, 64}
\definecolor{mytheorembg}{HTML}{F2F2F9}
\definecolor{mytheoremfr}{HTML}{00007B}
\definecolor{mylenmabg}{HTML}{FFFAF8}
\definecolor{mylenmafr}{HTML}{983b0f}
\definecolor{mypropbg}{HTML}{f2fbfc}
\definecolor{mypropfr}{HTML}{191971}
\definecolor{myexamplebg}{HTML}{F2FBF8}
\definecolor{myexamplefr}{HTML}{88D6D1}
\definecolor{myexampleti}{HTML}{2A7F7F}
\definecolor{mydefinitbg}{HTML}{E5E5FF}
\definecolor{mydefinitfr}{HTML}{3F3FA3}
\definecolor{notesgreen}{RGB}{0,162,0}
\definecolor{myp}{RGB}{197, 92, 212}
\definecolor{mygr}{HTML}{2C3338}
\definecolor{myred}{RGB}{127,0,0}
\definecolor{myyellow}{RGB}{169,121,69}
\definecolor{myexercisebg}{HTML}{F2FBF8}
\definecolor{myexercisefg}{HTML}{88D6D1}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% TCOLORBOX SETUPS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\setlength{\parindent}{0cm}
%================================
% THEOREM BOX
%================================
\tcbuselibrary{theorems,skins,hooks}
\newtcbtheorem[number within=section]{Theorem}{\theorytitle}
{%
enhanced,
breakable,
colback = mytheorembg,
frame hidden,
boxrule = 0sp,
borderline west = {2pt}{0pt}{mytheoremfr},
sharp corners,
detach title,
before upper = \tcbtitle\par\smallskip,
coltitle = mytheoremfr,
fonttitle = \bfseries\sffamily,
description font = \mdseries,
separator sign none,
segmentation style={solid, mytheoremfr},
}
{th}
\tcbuselibrary{theorems,skins,hooks}
\newtcbtheorem[number within=chapter]{theorem}{\theorytitle}
{%
enhanced,
breakable,
colback = mytheorembg,
frame hidden,
boxrule = 0sp,
borderline west = {2pt}{0pt}{mytheoremfr},
sharp corners,
detach title,
before upper = \tcbtitle\par\smallskip,
coltitle = mytheoremfr,
fonttitle = \bfseries\sffamily,
description font = \mdseries,
separator sign none,
segmentation style={solid, mytheoremfr},
}
{th}
\tcbuselibrary{theorems,skins,hooks}
\newtcolorbox{Theoremcon}
{%
enhanced
,breakable
,colback = mytheorembg
,frame hidden
,boxrule = 0sp
,borderline west = {2pt}{0pt}{mytheoremfr}
,sharp corners
,description font = \mdseries
,separator sign none
}
%================================
% Corollery
%================================
\tcbuselibrary{theorems,skins,hooks}
\newtcbtheorem[number within=section]{Corollary}{\corollarytitle}
{%
enhanced
,breakable
,colback = myp!10
,frame hidden
,boxrule = 0sp
,borderline west = {2pt}{0pt}{myp!85!black}
,sharp corners
,detach title
,before upper = \tcbtitle\par\smallskip
,coltitle = myp!85!black
,fonttitle = \bfseries\sffamily
,description font = \mdseries
,separator sign none
,segmentation style={solid, myp!85!black}
}
{th}
\tcbuselibrary{theorems,skins,hooks}
\newtcbtheorem[number within=chapter]{corollary}{\corollarytitle}
{%
enhanced
,breakable
,colback = myp!10
,frame hidden
,boxrule = 0sp
,borderline west = {2pt}{0pt}{myp!85!black}
,sharp corners
,detach title
,before upper = \tcbtitle\par\smallskip
,coltitle = myp!85!black
,fonttitle = \bfseries\sffamily
,description font = \mdseries
,separator sign none
,segmentation style={solid, myp!85!black}
}
{th}
%================================
% LENMA
%================================
\tcbuselibrary{theorems,skins,hooks}
\newtcbtheorem[number within=section]{Lenma}{Lenma}
{%
enhanced,
breakable,
colback = mylenmabg,
frame hidden,
boxrule = 0sp,
borderline west = {2pt}{0pt}{mylenmafr},
sharp corners,
detach title,
before upper = \tcbtitle\par\smallskip,
coltitle = mylenmafr,
fonttitle = \bfseries\sffamily,
description font = \mdseries,
separator sign none,
segmentation style={solid, mylenmafr},
}
{th}
\tcbuselibrary{theorems,skins,hooks}
\newtcbtheorem[number within=chapter]{lenma}{Lenma}
{%
enhanced,
breakable,
colback = mylenmabg,
frame hidden,
boxrule = 0sp,
borderline west = {2pt}{0pt}{mylenmafr},
sharp corners,
detach title,
before upper = \tcbtitle\par\smallskip,
coltitle = mylenmafr,
fonttitle = \bfseries\sffamily,
description font = \mdseries,
separator sign none,
segmentation style={solid, mylenmafr},
}
{th}
%================================
% PROPOSITION
%================================
\tcbuselibrary{theorems,skins,hooks}
\newtcbtheorem[number within=section]{Prop}{\proposaltitle}
{%
enhanced,
breakable,
colback = mypropbg,
frame hidden,
boxrule = 0sp,
borderline west = {2pt}{0pt}{mypropfr},
sharp corners,
detach title,
before upper = \tcbtitle\par\smallskip,
coltitle = mypropfr,
fonttitle = \bfseries\sffamily,
description font = \mdseries,
separator sign none,
segmentation style={solid, mypropfr},
}
{th}
\tcbuselibrary{theorems,skins,hooks}
\newtcbtheorem[number within=chapter]{prop}{\proposaltitle}
{%
enhanced,
breakable,
colback = mypropbg,
frame hidden,
boxrule = 0sp,
borderline west = {2pt}{0pt}{mypropfr},
sharp corners,
detach title,
before upper = \tcbtitle\par\smallskip,
coltitle = mypropfr,
fonttitle = \bfseries\sffamily,
description font = \mdseries,
separator sign none,
segmentation style={solid, mypropfr},
}
{th}
%================================
% CLAIM
%================================
\tcbuselibrary{theorems,skins,hooks}
\newtcbtheorem[number within=section]{claim}{\claimtitle}
{%
enhanced
,breakable
,colback = myg!10
,frame hidden
,boxrule = 0sp
,borderline west = {2pt}{0pt}{myg}
,sharp corners
,detach title
,before upper = \tcbtitle\par\smallskip
,coltitle = myg!85!black
,fonttitle = \bfseries\sffamily
,description font = \mdseries
,separator sign none
,segmentation style={solid, myg!85!black}
}
{th}
%================================
% Exercise
%================================
\tcbuselibrary{theorems,skins,hooks}
\newtcbtheorem[number within=section]{Exercise}{\exercisetitle}
{%
enhanced,
breakable,
colback = myexercisebg,
frame hidden,
boxrule = 0sp,
borderline west = {2pt}{0pt}{myexercisefg},
sharp corners,
detach title,
before upper = \tcbtitle\par\smallskip,
coltitle = myexercisefg,
fonttitle = \bfseries\sffamily,
description font = \mdseries,
separator sign none,
segmentation style={solid, myexercisefg},
}
{th}
\tcbuselibrary{theorems,skins,hooks}
\newtcbtheorem[number within=chapter]{exercise}{\exercisetitle}
{%
enhanced,
breakable,
colback = myexercisebg,
frame hidden,
boxrule = 0sp,
borderline west = {2pt}{0pt}{myexercisefg},
sharp corners,
detach title,
before upper = \tcbtitle\par\smallskip,
coltitle = myexercisefg,
fonttitle = \bfseries\sffamily,
description font = \mdseries,
separator sign none,
segmentation style={solid, myexercisefg},
}
{th}
%================================
% EXAMPLE BOX
%================================
\newtcbtheorem[number within=section]{Example}{\exampletitle}
{%
colback = myexamplebg
,breakable
,colframe = myexamplefr
,coltitle = myexampleti
,boxrule = 1pt
,sharp corners
,detach title
,before upper=\tcbtitle\par\smallskip
,fonttitle = \bfseries
,description font = \mdseries
,separator sign none
,description delimiters parenthesis
}
{ex}
\newtcbtheorem[number within=chapter]{example}{\exampletitle}
{%
colback = myexamplebg
,breakable
,colframe = myexamplefr
,coltitle = myexampleti
,boxrule = 1pt
,sharp corners
,detach title
,before upper=\tcbtitle\par\smallskip
,fonttitle = \bfseries
,description font = \mdseries
,separator sign none
,description delimiters parenthesis
}
{ex}
%================================
% DEFINITION BOX
%================================
\newtcbtheorem[number within=section]{Definition}{Definition}{enhanced,
before skip=2mm,after skip=2mm, colback=red!5,colframe=red!80!black,boxrule=0.5mm,
attach boxed title to top left={xshift=1cm,yshift*=1mm-\tcboxedtitleheight}, varwidth boxed title*=-3cm,
boxed title style={frame code={
\path[fill=tcbcolback]
([yshift=-1mm,xshift=-1mm]frame.north west)
arc[start angle=0,end angle=180,radius=1mm]
([yshift=-1mm,xshift=1mm]frame.north east)
arc[start angle=180,end angle=0,radius=1mm];
\path[left color=tcbcolback!60!black,right color=tcbcolback!60!black,
middle color=tcbcolback!80!black]
([xshift=-2mm]frame.north west) -- ([xshift=2mm]frame.north east)
[rounded corners=1mm]-- ([xshift=1mm,yshift=-1mm]frame.north east)
-- (frame.south east) -- (frame.south west)
-- ([xshift=-1mm,yshift=-1mm]frame.north west)
[sharp corners]-- cycle;
},interior engine=empty,
},
fonttitle=\bfseries,
title={#2},#1}{def}
\newtcbtheorem[number within=chapter]{definition}{Definition}{enhanced,
before skip=2mm,after skip=2mm, colback=red!5,colframe=red!80!black,boxrule=0.5mm,
attach boxed title to top left={xshift=1cm,yshift*=1mm-\tcboxedtitleheight}, varwidth boxed title*=-3cm,
boxed title style={frame code={
\path[fill=tcbcolback]
([yshift=-1mm,xshift=-1mm]frame.north west)
arc[start angle=0,end angle=180,radius=1mm]
([yshift=-1mm,xshift=1mm]frame.north east)
arc[start angle=180,end angle=0,radius=1mm];
\path[left color=tcbcolback!60!black,right color=tcbcolback!60!black,
middle color=tcbcolback!80!black]
([xshift=-2mm]frame.north west) -- ([xshift=2mm]frame.north east)
[rounded corners=1mm]-- ([xshift=1mm,yshift=-1mm]frame.north east)
-- (frame.south east) -- (frame.south west)
-- ([xshift=-1mm,yshift=-1mm]frame.north west)
[sharp corners]-- cycle;
},interior engine=empty,
},
fonttitle=\bfseries,
title={#2},#1}{def}
%================================
% Solution BOX
%================================
\makeatletter
\newtcbtheorem{question}{\questiontitle}{enhanced,
breakable,
colback=white,
colframe=myb!80!black,
attach boxed title to top left={yshift*=-\tcboxedtitleheight},
fonttitle=\bfseries,
title={#2},
boxed title size=title,
boxed title style={%
sharp corners,
rounded corners=northwest,
colback=tcbcolframe,
boxrule=0pt,
},
underlay boxed title={%
\path[fill=tcbcolframe] (title.south west)--(title.south east)
to[out=0, in=180] ([xshift=5mm]title.east)--
(title.center-|frame.east)
[rounded corners=\kvtcb@arc] |-
(frame.north) -| cycle;
},
#1
}{def}
\makeatother
%================================
% SOLUTION BOX
%================================
\makeatletter
\newtcolorbox{solution}{enhanced,
breakable,
colback=white,
colframe=myg!80!black,
attach boxed title to top left={yshift*=-\tcboxedtitleheight},
title=Solution,
boxed title size=title,
boxed title style={%
sharp corners,
rounded corners=northwest,
colback=tcbcolframe,
boxrule=0pt,
},
underlay boxed title={%
\path[fill=tcbcolframe] (title.south west)--(title.south east)
to[out=0, in=180] ([xshift=5mm]title.east)--
(title.center-|frame.east)
[rounded corners=\kvtcb@arc] |-
(frame.north) -| cycle;
},
}
\makeatother
%================================
% Question BOX
%================================
\makeatletter
\newtcbtheorem{qstion}{\questiontitle}{enhanced,
breakable,
colback=white,
colframe=mygr,
attach boxed title to top left={yshift*=-\tcboxedtitleheight},
fonttitle=\bfseries,
title={#2},
boxed title size=title,
boxed title style={%
sharp corners,
rounded corners=northwest,
colback=tcbcolframe,
boxrule=0pt,
},
underlay boxed title={%
\path[fill=tcbcolframe] (title.south west)--(title.south east)
to[out=0, in=180] ([xshift=5mm]title.east)--
(title.center-|frame.east)
[rounded corners=\kvtcb@arc] |-
(frame.north) -| cycle;
},
#1
}{def}
\makeatother
\newtcbtheorem[number within=chapter]{wconc}{\wrongctitle}{
breakable,
enhanced,
colback=white,
colframe=myr,
arc=0pt,
outer arc=0pt,
fonttitle=\bfseries\sffamily\large,
colbacktitle=myr,
attach boxed title to top left={},
boxed title style={
enhanced,
skin=enhancedfirst jigsaw,
arc=3pt,
bottom=0pt,
interior style={fill=myr}
},
#1
}{def}
%================================
% NOTE BOX
%================================
\usetikzlibrary{arrows,calc,shadows.blur}
\tcbuselibrary{skins}
\newtcolorbox{note}[1][]{%
enhanced jigsaw,
colback=gray!20!white,%
colframe=gray!80!black,
size=small,
boxrule=1pt,
title=\textbf{Bemerkung:-},
halign title=flush center,
coltitle=black,
breakable,
drop shadow=black!50!white,
attach boxed title to top left={xshift=1cm,yshift=-\tcboxedtitleheight/2,yshifttext=-\tcboxedtitleheight/2},
minipage boxed title=2.5cm,
boxed title style={%
colback=white,
size=fbox,
boxrule=1pt,
boxsep=2pt,
underlay={%
\coordinate (dotA) at ($(interior.west) + (-0.5pt,0)$);
\coordinate (dotB) at ($(interior.east) + (0.5pt,0)$);
\begin{scope}
\clip (interior.north west) rectangle ([xshift=3ex]interior.east);
\filldraw [white, blur shadow={shadow opacity=60, shadow yshift=-.75ex}, rounded corners=2pt] (interior.north west) rectangle (interior.south east);
\end{scope}
\begin{scope}[gray!80!black]
\fill (dotA) circle (2pt);
\fill (dotB) circle (2pt);
\end{scope}
},
},
#1,
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% SELF MADE COMMANDS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\thm}[2]{\begin{Theorem}{#1}{}#2\end{Theorem}}
\newcommand{\cor}[2]{\begin{Corollary}{#1}{}#2\end{Corollary}}
\newcommand{\mlenma}[2]{\begin{Lenma}{#1}{}#2\end{Lenma}}
\newcommand{\mprop}[2]{\begin{Prop}{#1}{}#2\end{Prop}}
\newcommand{\clm}[3]{\begin{claim}{#1}{#2}#3\end{claim}}
\newcommand{\wc}[2]{\begin{wconc}{#1}{}\setlength{\parindent}{1cm}#2\end{wconc}}
\newcommand{\thmcon}[1]{\begin{Theoremcon}{#1}\end{Theoremcon}}
\newcommand{\exe}[2]{\begin{Exercise}{#1}{}#2\end{Exercise}}
\newcommand{\exa}[2]{\begin{Example}{#1}{}#2\end{Example}}
\newcommand{\dfn}[2]{\begin{Definition}[colbacktitle=red!75!black]{#1}{}#2\end{Definition}}
\newcommand{\dfnc}[2]{\begin{definition}[colbacktitle=red!75!black]{#1}{}#2\end{definition}}
\newcommand{\qs}[2]{\begin{question}{#1}{}#2\end{question}}
\newcommand{\pf}[2]{\begin{myproof}[#1]#2\end{myproof}}
\newcommand{\nt}[1]{\begin{note}#1\end{note}}
\newcommand*\circled[1]{\tikz[baseline=(char.base)]{
Wrong Concept \node[shape=circle,draw,inner sep=1pt] (char) {#1};}}
\newcommand\getcurrentref[1]{%
\ifnumequal{\value{#1}}{0}
{??}
{\the\value{#1}}%
}
\newcommand{\getCurrentSectionNumber}{\getcurrentref{section}}
\newenvironment{myproof}[1][\proofname]{%
\proof[\bfseries #1: ]%
}{\endproof}
\newcommand{\mclm}[2]{\begin{myclaim}[#1]#2\end{myclaim}}
\newenvironment{myclaim}[1][\claimname]{\proof[\bfseries #1: ]}{}
\newcounter{mylabelcounter}
\makeatletter
\newcommand{\setword}[2]{%
\phantomsection
#1\def\@currentlabel{\unexpanded{#1}}\label{#2}%
}
\makeatother
\tikzset{
symbol/.style={
draw=none,
every to/.append style={
edge node={node [sloped, allow upside down, auto=false]{$#1$}}}
}
}
% deliminators
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}
\DeclarePairedDelimiter{\norm}{\lVert}{\rVert}
\DeclarePairedDelimiter{\ceil}{\lceil}{\rceil}
\DeclarePairedDelimiter{\floor}{\lfloor}{\rfloor}
\DeclarePairedDelimiter{\round}{\lfloor}{\rceil}
\newsavebox\diffdbox
\newcommand{\slantedromand}{{\mathpalette\makesl{d}}}
\newcommand{\makesl}[2]{%
\begingroup
\sbox{\diffdbox}{$\mathsurround=0pt#1\mathrm{#2}$}%
\pdfsave
\pdfsetmatrix{1 0 0.2 1}%
\rlap{\usebox{\diffdbox}}%
\pdfrestore
\hskip\wd\diffdbox
\endgroup
}
\newcommand{\dd}[1][]{\ensuremath{\mathop{}\!\ifstrempty{#1}{%
\slantedromand\@ifnextchar^{\hspace{0.2ex}}{\hspace{0.1ex}}}%
{\slantedromand\hspace{0.2ex}^{#1}}}}
\ProvideDocumentCommand\dv{o m g}{%
\ensuremath{%
\IfValueTF{#3}{%
\IfNoValueTF{#1}{%
\frac{\dd #2}{\dd #3}%
}{%
\frac{\dd^{#1} #2}{\dd #3^{#1}}%
}%
}{%
\IfNoValueTF{#1}{%
\frac{\dd}{\dd #2}%
}{%
\frac{\dd^{#1}}{\dd #2^{#1}}%
}%
}%
}%
}
\providecommand*{\pdv}[3][]{\frac{\partial^{#1}#2}{\partial#3^{#1}}}
% - others
\DeclareMathOperator{\Lap}{\mathcal{L}}
\DeclareMathOperator{\Var}{Var} % varience
\DeclareMathOperator{\Cov}{Cov} % covarience
\DeclareMathOperator{\E}{E} % expected
% Since the amsthm package isn't loaded
% I prefer the slanted \leq
\let\oldleq\leq % save them in case they're every wanted
\let\oldgeq\geq
\renewcommand{\leq}{\leqslant}
\renewcommand{\geq}{\geqslant}
% % redefine matrix env to allow for alignment, use r as default
% \renewcommand*\env@matrix[1][r]{\hskip -\arraycolsep
% \let\@ifnextchar\new@ifnextchar
% \array{*\c@MaxMatrixCols #1}}
%\usepackage{framed}
%\usepackage{titletoc}
%\usepackage{etoolbox}
%\usepackage{lmodern}
%\patchcmd{\tableofcontents}{\contentsname}{\sffamily\contentsname}{}{}
%\renewenvironment{leftbar}
%{\def\FrameCommand{\hspace{6em}%
% {\color{myyellow}\vrule width 2pt depth 6pt}\hspace{1em}}%
% \MakeFramed{\parshape 1 0cm \dimexpr\textwidth-6em\relax\FrameRestore}\vskip2pt%
%}
%{\endMakeFramed}
%\titlecontents{chapter}
%[0em]{\vspace*{2\baselineskip}}
%{\parbox{4.5em}{%
% \hfill\Huge\sffamily\bfseries\color{myred}\thecontentspage}%
% \vspace*{-2.3\baselineskip}\leftbar\textsc{\small\chaptername~\thecontentslabel}\\\sffamily}
%{}{\endleftbar}
%\titlecontents{section}
%[8.4em]
%{\sffamily\contentslabel{3em}}{}{}
%{\hspace{0.5em}\nobreak\itshape\color{myred}\contentspage}
%\titlecontents{subsection}
%[8.4em]
%{\sffamily\contentslabel{3em}}{}{}
%{\hspace{0.5em}\nobreak\itshape\color{myred}\contentspage}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% TABLE OF CONTENTS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{tikz}
\definecolor{doc}{RGB}{0,60,110}
\usepackage{titletoc}
\contentsmargin{0cm}
\titlecontents{chapter}[3.7pc]
{\addvspace{30pt}%
\begin{tikzpicture}[remember picture, overlay]%
\draw[fill=doc!60,draw=doc!60] (-7,-.1) rectangle (-0.9,.5);%
\pgftext[left,x=-3.5cm,y=0.2cm]{\color{white}\Large\sc\bfseries Kapitel\ \thecontentslabel};%
\end{tikzpicture}\color{doc!60}\large\sc\bfseries}%
{}
{}
{\;\titlerule\;\large\sc\bfseries Seite \thecontentspage
\begin{tikzpicture}[remember picture, overlay]
\draw[fill=doc!60,draw=doc!60] (2pt,0) rectangle (4,0.1pt);
\end{tikzpicture}}%
\titlecontents{section}[3.7pc]
{\addvspace{2pt}}
{\contentslabel[\thecontentslabel]{2pc}}
{}
{\hfill\small \thecontentspage}
[]
\titlecontents*{subsection}[3.7pc]
{\addvspace{-1pt}\small}
{}
{}
{\ --- \small\thecontentspage}
[ \textbullet\ ][]
\makeatletter
\renewcommand{\tableofcontents}{%
\chapter*{%
\vspace*{-20\p@}%
\begin{tikzpicture}[remember picture, overlay]%
\pgftext[right,x=15cm,y=0.2cm]{\color{doc!60}\Huge\sc\bfseries \contentsname};%
\draw[fill=doc!60,draw=doc!60] (13,-.75) rectangle (20,1);%
\clip (13,-.75) rectangle (20,1);
\pgftext[right,x=15cm,y=0.2cm]{\color{white}\Huge\sc\bfseries \contentsname};%
\end{tikzpicture}}%
\@starttoc{toc}}
\makeatother
@@ -1,729 +0,0 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% PACKAGE IMPORTS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% TODO: Change Bable Language if needed
% \usepackage[ngerman]{babel}
\usepackage[macchiato, styleAll]{catppuccinpalette}
\usepackage[tmargin=2cm,rmargin=1in,lmargin=1in,margin=0.85in,bmargin=2cm,footskip=.2in]{geometry}
\usepackage{amsmath,amsfonts,amsthm,amssymb,mathtools}
\usepackage[varbb]{newpxmath}
\usepackage{xfrac}
\usepackage[makeroom]{cancel}
\usepackage{mathtools}
\usepackage{bookmark}
\usepackage{enumitem}
\usepackage{hyperref,theoremref}
\hypersetup{
pdftitle={\papertitle},
colorlinks=true, linkcolor=CtpBlue!90,
bookmarksnumbered=true,
bookmarksopen=true
}
\usepackage[most,many,breakable]{tcolorbox}
\usepackage{xcolor}
\usepackage{varwidth}
\usepackage{varwidth}
\usepackage{etoolbox}
%\usepackage{authblk}
\usepackage{nameref}
\usepackage{multicol,array}
\usepackage{tikz-cd}
\usepackage{listings}
\usepackage{comment} % enables the use of multi-line comments (\ifx \fi)
\usepackage{import}
\usepackage{xifthen}
\usepackage{pdfpages}
\usepackage{transparent}
\usepackage{tikzsymbols}
\renewcommand\qedsymbol{$\Laughey$}
%\usepackage{import}
%\usepackage{xifthen}
%\usepackage{pdfpages}
%\usepackage{transparent}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% LISTINGS SETUP
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Add Settings for Code Blocks
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% TCOLORBOX SETUPS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\setlength{\parindent}{0cm}
%================================
% THEOREM BOX
%================================
\tcbuselibrary{theorems,skins,hooks}
\newtcbtheorem[number within=section]{Theorem}{\theorytitle}
{%
enhanced,
breakable,
colback = CtpSurface0,
colupper = CtpText,
frame hidden,
boxrule = 0sp,
borderline west = {2pt}{0pt}{CtpLavender},
sharp corners,
detach title,
before upper = \tcbtitle\par\smallskip,
coltitle = CtpLavender,
fonttitle = \bfseries\sffamily,
description font = \mdseries,
separator sign none,
segmentation style={solid, CtpLavender},
}
{th}
\tcbuselibrary{theorems,skins,hooks}
\newtcbtheorem[number within=chapter]{theorem}{\theorytitle}
{%
enhanced,
breakable,
colback = CtpSurface0,
colupper = CtpText,
frame hidden,
boxrule = 0sp,
borderline west = {2pt}{0pt}{CtpLavender},
sharp corners,
detach title,
before upper = \tcbtitle\par\smallskip,
coltitle = CtpLavender,
fonttitle = \bfseries\sffamily,
description font = \mdseries,
separator sign none,
segmentation style={solid, CtpLavender},
}
{th}
\tcbuselibrary{theorems,skins,hooks}
\newtcolorbox{Theoremcon}
{%
enhanced
,breakable
,colback = CtpSurface0
,colupper = CtpText
,frame hidden
,boxrule = 0sp
,borderline west = {2pt}{0pt}{CtpLavender}
,sharp corners
,description font = \mdseries
,separator sign none
}
%================================
% Corollary
%================================
\tcbuselibrary{theorems,skins,hooks}
\newtcbtheorem[number within=section]{Corollary}{\corollarytitle}
{%
enhanced
,breakable
,colback = CtpSurface0
,colupper = CtpText
,frame hidden
,boxrule = 0sp
,borderline west = {2pt}{0pt}{CtpMauve!85!black}
,sharp corners
,detach title
,before upper = \tcbtitle\par\smallskip
,coltitle = CtpMauve!85!black
,fonttitle = \bfseries\sffamily
,description font = \mdseries
,separator sign none
,segmentation style={solid, CtpMauve!85!black}
}
{th}
\tcbuselibrary{theorems,skins,hooks}
\newtcbtheorem[number within=chapter]{corollary}{\corollarytitle}
{%
enhanced
,breakable
,colback = CtpSurface0
,colupper = CtpText
,frame hidden
,boxrule = 0sp
,borderline west = {2pt}{0pt}{CtpMauve!85!black}
,sharp corners
,detach title
,before upper = \tcbtitle\par\smallskip
,coltitle = CtpMauve!85!black
,fonttitle = \bfseries\sffamily
,description font = \mdseries
,separator sign none
,segmentation style={solid, CtpMauve!85!black}
}
{th}
%================================
% LENMA
%================================
\tcbuselibrary{theorems,skins,hooks}
\newtcbtheorem[number within=section]{Lenma}{Lenma}
{%
enhanced,
breakable,
colback = CtpSurface0,
colupper = CtpText,
frame hidden,
boxrule = 0sp,
borderline west = {2pt}{0pt}{CtpPeach},
sharp corners,
detach title,
before upper = \tcbtitle\par\smallskip,
coltitle = CtpPeach,
fonttitle = \bfseries\sffamily,
description font = \mdseries,
separator sign none,
segmentation style={solid, CtpPeach},
}
{th}
\tcbuselibrary{theorems,skins,hooks}
\newtcbtheorem[number within=chapter]{lenma}{Lenma}
{%
enhanced,
breakable,
colback = CtpSurface0,
colupper = CtpText,
frame hidden,
boxrule = 0sp,
borderline west = {2pt}{0pt}{CtpPeach},
sharp corners,
detach title,
before upper = \tcbtitle\par\smallskip,
coltitle = CtpPeach,
fonttitle = \bfseries\sffamily,
description font = \mdseries,
separator sign none,
segmentation style={solid, CtpPeach},
}
{th}
%================================
% PROPOSITION
%================================
\tcbuselibrary{theorems,skins,hooks}
\newtcbtheorem[number within=section]{Prop}{\proposaltitle}
{%
enhanced,
breakable,
colback = CtpBlue!10,
frame hidden,
boxrule = 0sp,
borderline west = {2pt}{0pt}{CtpBlue},
sharp corners,
detach title,
before upper = \tcbtitle\par\smallskip,
coltitle = CtpBlue,
fonttitle = \bfseries\sffamily,
description font = \mdseries,
separator sign none,
segmentation style={solid, CtpBlue},
}
{th}
\tcbuselibrary{theorems,skins,hooks}
\newtcbtheorem[number within=chapter]{prop}{\proposaltitle}
{%
enhanced,
breakable,
colback = CtpBlue!10,
frame hidden,
boxrule = 0sp,
borderline west = {2pt}{0pt}{CtpBlue},
sharp corners,
detach title,
before upper = \tcbtitle\par\smallskip,
coltitle = CtpBlue,
fonttitle = \bfseries\sffamily,
description font = \mdseries,
separator sign none,
segmentation style={solid, CtpBlue},
}
{th}
%================================
% CLAIM
%================================
\tcbuselibrary{theorems,skins,hooks}
\newtcbtheorem[number within=section]{claim}{\claimtitle}
{%
enhanced
,breakable
,colback = CtpSurface0
,colupper = CtpText
,frame hidden
,boxrule = 0sp
,borderline west = {2pt}{0pt}{CtpGreen}
,sharp corners
,detach title
,before upper = \tcbtitle\par\smallskip
,coltitle = CtpGreen!85!black
,fonttitle = \bfseries\sffamily
,description font = \mdseries
,separator sign none
,segmentation style={solid, CtpGreen!85!black}
}
{th}
%================================
% Exercise
%================================
\tcbuselibrary{theorems,skins,hooks}
\newtcbtheorem[number within=section]{Exercise}{\exercisetitle}
{%
enhanced,
breakable,
colback = CtpSurface0,
colupper = CtpText,
frame hidden,
boxrule = 0sp,
borderline west = {2pt}{0pt}{CtpBlue},
sharp corners,
detach title,
before upper = \tcbtitle\par\smallskip,
coltitle = CtpBlue,
fonttitle = \bfseries\sffamily,
description font = \mdseries,
separator sign none,
segmentation style={solid, CtpBlue},
}
{th}
\tcbuselibrary{theorems,skins,hooks}
\newtcbtheorem[number within=chapter]{exercise}{\exercisetitle}
{%
enhanced,
breakable,
colback = CtpSurface0,
colupper = CtpText,
frame hidden,
boxrule = 0sp,
borderline west = {2pt}{0pt}{CtpBlue},
sharp corners,
detach title,
before upper = \tcbtitle\par\smallskip,
coltitle = CtpBlue,
fonttitle = \bfseries\sffamily,
description font = \mdseries,
separator sign none,
segmentation style={solid, CtpBlue},
}
{th}
%================================
% EXAMPLE BOX
%================================
\newtcbtheorem[number within=section]{Example}{\exampletitle}
{%
colback = CtpSurface0
,colupper = CtpText
,breakable
,colframe = CtpTeal
,coltitle = CtpTeal
,boxrule = 1pt
,sharp corners
,detach title
,before upper=\tcbtitle\par\smallskip
,fonttitle = \bfseries
,description font = \mdseries
,separator sign none
,description delimiters parenthesis
}
{ex}
\newtcbtheorem[number within=chapter]{example}{\exampletitle}
{%
colback = CtpSurface0
,colupper = CtpText
,breakable
,colframe = CtpTeal
,coltitle = CtpTeal
,boxrule = 1pt
,sharp corners
,detach title
,before upper=\tcbtitle\par\smallskip
,fonttitle = \bfseries
,description font = \mdseries
,separator sign none
,description delimiters parenthesis
}
{ex}
%================================
% DEFINITION BOX
%================================
\newtcbtheorem[number within=section]{Definition}{Definition}{enhanced,
before skip=2mm,after skip=2mm, colback=CtpSurface0,colupper=CtpText,colframe=CtpRed!80!CtpText,boxrule=0.5mm,
attach boxed title to top left={xshift=1cm,yshift*=1mm-\tcboxedtitleheight}, varwidth boxed title*=-3cm,
boxed title style={frame code={
\path[fill=CtpRed]
([yshift=-1mm,xshift=-1mm]frame.north west)
arc[start angle=0,end angle=180,radius=1mm]
([yshift=-1mm,xshift=1mm]frame.north east)
arc[start angle=180,end angle=0,radius=1mm];
\path[left color=CtpRed!60!CtpText,right color=CtpRed!60!CtpText,
middle color=CtpRed!80!CtpText]
([xshift=-2mm]frame.north west) -- ([xshift=2mm]frame.north east)
[rounded corners=1mm]-- ([xshift=1mm,yshift=-1mm]frame.north east)
-- (frame.south east) -- (frame.south west)
-- ([xshift=-1mm,yshift=-1mm]frame.north west)
[sharp corners]-- cycle;
},interior engine=empty,
},
fonttitle=\bfseries,
title={#2},#1}{def}
\newtcbtheorem[number within=chapter]{definition}{Definition}{enhanced,
before skip=2mm,after skip=2mm, colback=CtpRed!5,colframe=CtpRed!80!CtpText,boxrule=0.5mm,
attach boxed title to top left={xshift=1cm,yshift*=1mm-\tcboxedtitleheight}, varwidth boxed title*=-3cm,
boxed title style={frame code={
\path[fill=CtpRed]
([yshift=-1mm,xshift=-1mm]frame.north west)
arc[start angle=0,end angle=180,radius=1mm]
([yshift=-1mm,xshift=1mm]frame.north east)
arc[start angle=180,end angle=0,radius=1mm];
\path[left color=CtpRed!60!CtpText,right color=CtpRed!60!CtpText,
middle color=CtpRed!80!CtpText]
([xshift=-2mm]frame.north west) -- ([xshift=2mm]frame.north east)
[rounded corners=1mm]-- ([xshift=1mm,yshift=-1mm]frame.north east)
-- (frame.south east) -- (frame.south west)
-- ([xshift=-1mm,yshift=-1mm]frame.north west)
[sharp corners]-- cycle;
},interior engine=empty,
},
fonttitle=\bfseries,
title={#2},#1}{def}
%================================
% Solution BOX
%================================
\makeatletter
\newtcbtheorem{question}{\questiontitle}{enhanced,
breakable,
colback=CtpSurface0,
colupper=CtpText,
colframe=CtpSaphire!80!CtpText,
attach boxed title to top left={yshift*=-\tcboxedtitleheight},
fonttitle=\bfseries,
title={#2},
boxed title size=title,
boxed title style={%
sharp corners,
rounded corners=northwest,
colback=tcbcolframe,
boxrule=0pt,
},
underlay boxed title={%
\path[fill=CtpSaphire] (title.south west)--(title.south east)
to[out=0, in=180] ([xshift=5mm]title.east)--
(title.center-|frame.east)
[rounded corners=\kvtcb@arc] |-
(frame.north) -| cycle;
},
#1
}{def}
\makeatother
%================================
% SOLUTION BOX
%================================
\makeatletter
\newtcolorbox{solution}{enhanced,
breakable,
colback=CtpSurface0,
colupper=CtpText,
colframe=CtpGreen!80!CtpText,
attach boxed title to top left={yshift*=-\tcboxedtitleheight},
title=Solution,
boxed title size=title,
boxed title style={%
sharp corners,
rounded corners=northwest,
colback=tcbcolframe,
boxrule=0pt,
},
underlay boxed title={%
\path[fill=CtpGreen] (title.south west)--(title.south east)
to[out=0, in=180] ([xshift=5mm]title.east)--
(title.center-|frame.east)
[rounded corners=\kvtcb@arc] |-
(frame.north) -| cycle;
},
}
\makeatother
%================================
% Question BOX
%================================
\makeatletter
\newtcbtheorem{qstion}{\questiontitle}{enhanced,
breakable,
colback=CtpSurface0,
colupper=CtpText,
colframe=CtpTeal,
attach boxed title to top left={yshift*=-\tcboxedtitleheight},
fonttitle=\bfseries,
title={#2},
boxed title size=title,
boxed title style={%
sharp corners,
rounded corners=northwest,
colback=tcbcolframe,
boxrule=0pt,
},
underlay boxed title={%
\path[fill=CtpTeal] (title.south west)--(title.south east)
to[out=0, in=180] ([xshift=5mm]title.east)--
(title.center-|frame.east)
[rounded corners=\kvtcb@arc] |-
(frame.north) -| cycle;
},
#1
}{def}
\makeatother
\newtcbtheorem[number within=chapter]{wconc}{\wrongctitle}{
breakable,
enhanced,
colback=CtpSurface0,
colupper=CtpText,
colframe=CtpTeal,
arc=0pt,
outer arc=0pt,
fonttitle=\bfseries\sffamily\large,
colbacktitle=CtpTeal,
attach boxed title to top left={},
boxed title style={
enhanced,
skin=enhancedfirst jigsaw,
arc=3pt,
bottom=0pt,
interior style={fill=CtpTeal}
},
#1
}{def}
%================================
% NOTE BOX
%================================
\usetikzlibrary{arrows,calc,shadows.blur}
\tcbuselibrary{skins}
\newtcolorbox{note}[1][]{%
enhanced jigsaw,
colback=CtpSurface0,%
colframe=CtpSurface1,
colupper=CtpText,
size=small,
boxrule=1pt,
title=\textbf{\notetitle},
halign title=flush center,
coltitle=CtpText,
breakable,
drop shadow=CtpCrust,
attach boxed title to top left={xshift=1cm,yshift=-\tcboxedtitleheight/2,yshifttext=-\tcboxedtitleheight/2},
minipage boxed title=2.5cm,
boxed title style={%
colback=CtpSurface0,
colupper=CtpText,
size=fbox,
boxrule=1pt,
boxsep=2pt,
underlay={%
\coordinate (dotA) at ($(interior.west) + (-0.5pt,0)$);
\coordinate (dotB) at ($(interior.east) + (0.5pt,0)$);
\begin{scope}
\clip (interior.north west) rectangle ([xshift=3ex]interior.east);
\filldraw [CtpBase, blur shadow={shadow opacity=60, shadow yshift=-.75ex}, rounded corners=2pt] (interior.north west) rectangle (interior.south east);
\end{scope}
\begin{scope}[CtpSurface1]
\fill (dotA) circle (2pt);
\fill (dotB) circle (2pt);
\end{scope}
},
},
#1,
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% SELF MADE COMMANDS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\thm}[2]{\begin{Theorem}{#1}{}#2\end{Theorem}}
\newcommand{\cor}[2]{\begin{Corollary}{#1}{}#2\end{Corollary}}
\newcommand{\mlenma}[2]{\begin{Lenma}{#1}{}#2\end{Lenma}}
\newcommand{\mprop}[2]{\begin{Prop}{#1}{}#2\end{Prop}}
\newcommand{\clm}[3]{\begin{claim}{#1}{#2}#3\end{claim}}
\newcommand{\wc}[2]{\begin{wconc}{#1}{}\setlength{\parindent}{1cm}#2\end{wconc}}
\newcommand{\thmcon}[1]{\begin{Theoremcon}{#1}\end{Theoremcon}}
\newcommand{\ex}[2]{\begin{Example}{#1}{}#2\end{Example}}
\newcommand{\dfn}[2]{\begin{Definition}[colbacktitle=red!75!black]{#1}{}#2\end{Definition}}
\newcommand{\dfnc}[2]{\begin{definition}[colbacktitle=red!75!black]{#1}{}#2\end{definition}}
\newcommand{\qs}[2]{\begin{question}{#1}{}#2\end{question}}
\newcommand{\pf}[2]{\begin{myproof}[#1]#2\end{myproof}}
\newcommand{\nt}[1]{\begin{note}#1\end{note}}
\newcommand*\circled[1]{\tikz[baseline=(char.base)]{
Wrong Concept \node[shape=circle,draw,inner sep=1pt] (char) {#1};}}
\newcommand\getcurrentref[1]{%
\ifnumequal{\value{#1}}{0}
{??}
{\the\value{#1}}%
}
\newcommand{\getCurrentSectionNumber}{\getcurrentref{section}}
\newenvironment{myproof}[1][\proofname]{%
\proof[\bfseries #1: ]%
}{\endproof}
\newcommand{\mclm}[2]{\begin{myclaim}[#1]#2\end{myclaim}}
\newenvironment{myclaim}[1][\claimname]{\proof[\bfseries #1: ]}{}
\newcounter{mylabelcounter}
\makeatletter
\newcommand{\setword}[2]{%
\phantomsection
#1\def\@currentlabel{\unexpanded{#1}}\label{#2}%
}
\makeatother
\tikzset{
symbol/.style={
draw=none,
every to/.append style={
edge node={node [sloped, allow upside down, auto=false]{$#1$}}}
}
}
% deliminators
\DeclarePairedDelimiter{\abs}{\lvert}{\rvert}
\DeclarePairedDelimiter{\norm}{\lVert}{\rVert}
\DeclarePairedDelimiter{\ceil}{\lceil}{\rceil}
\DeclarePairedDelimiter{\floor}{\lfloor}{\rfloor}
\DeclarePairedDelimiter{\round}{\lfloor}{\rceil}
\newsavebox\diffdbox
\newcommand{\slantedromand}{{\mathpalette\makesl{d}}}
\newcommand{\makesl}[2]{%
\begingroup
\sbox{\diffdbox}{$\mathsurround=0pt#1\mathrm{#2}$}%
\pdfsave
\pdfsetmatrix{1 0 0.2 1}%
\rlap{\usebox{\diffdbox}}%
\pdfrestore
\hskip\wd\diffdbox
\endgroup
}
\newcommand{\dd}[1][]{\ensuremath{\mathop{}\!\ifstrempty{#1}{%
\slantedromand\@ifnextchar^{\hspace{0.2ex}}{\hspace{0.1ex}}}%
{\slantedromand\hspace{0.2ex}^{#1}}}}
\ProvideDocumentCommand\dv{o m g}{%
\ensuremath{%
\IfValueTF{#3}{%
\IfNoValueTF{#1}{%
\frac{\dd #2}{\dd #3}%
}{%
\frac{\dd^{#1} #2}{\dd #3^{#1}}%
}%
}{%
\IfNoValueTF{#1}{%
\frac{\dd}{\dd #2}%
}{%
\frac{\dd^{#1}}{\dd #2^{#1}}%
}%
}%
}%
}
\providecommand*{\pdv}[3][]{\frac{\partial^{#1}#2}{\partial#3^{#1}}}
% - others
\DeclareMathOperator{\Lap}{\mathcal{L}}
\DeclareMathOperator{\Var}{Var} % varience
\DeclareMathOperator{\Cov}{Cov} % covarience
\DeclareMathOperator{\E}{E} % expected
% Since the amsthm package isn't loaded
% I prefer the slanted \leq
\let\oldleq\leq % save them in case they're every wanted
\let\oldgeq\geq
\renewcommand{\leq}{\leqslant}
\renewcommand{\geq}{\geqslant}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% TABLE OF CONTENTS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{tikz}
\usepackage{titletoc}
\contentsmargin{0cm}
\titlecontents{chapter}[3.7pc]
{\addvspace{30pt}%
\begin{tikzpicture}[remember picture, overlay]%
\draw[fill=CtpBlue!60,draw=CtpBlue!60] (-7,-.1) rectangle (-0.5,.5);%
\pgftext[left,x=-3.5cm,y=0.2cm]{\color{white}\Large\sc\bfseries \chaptertitle\ \thecontentslabel};%
\end{tikzpicture}\color{CtpBlue!60}\large\sc\bfseries}%
{}
{}
{\;\titlerule\;\large\sc\bfseries \pagetitle\ \thecontentspage
\begin{tikzpicture}[remember picture, overlay]
\draw[fill=CtpBlue!60,draw=CtpBlue!60] (2pt,0) rectangle (4,0.1pt);
\end{tikzpicture}}%
\titlecontents{section}[4.7pc]
{\addvspace{2pt}}
{\contentslabel[\thecontentslabel]{2pc}}
{}
{\hfill\small \thecontentspage}
[]
\titlecontents*{subsection}[3.7pc]
{\addvspace{-1pt}\small}
{}
{}
{\ --- \small\thecontentspage}
[ \textbullet\ ][]
\makeatletter
\renewcommand{\tableofcontents}{%
\chapter*{%
\vspace*{-20\p@}%
\begin{tikzpicture}[remember picture, overlay]%
\pgftext[right,x=15cm,y=0.2cm]{\color{CtpBlue!60}\Huge\sc\bfseries \contentsname};%
\draw[fill=CtpBlue!60,draw=CtpBlue!60] (13,-.75) rectangle (20,1);%
\clip (13,-.75) rectangle (20,1);
\pgftext[right,x=15cm,y=0.2cm]{\color{white}\Huge\sc\bfseries \contentsname};%
\end{tikzpicture}}%
\@starttoc{toc}}
\makeatother
-4
View File
@@ -1,4 +0,0 @@
next_page J
previous_page K
toggle_dark_mode d
-1
View File
@@ -1 +0,0 @@
background_color 0 0 0
-14
View File
@@ -1,14 +0,0 @@
#!/bin/bash
export WHITE="0xffeeeeee"
# -- Catppuccin --
export BAR_COLOR="0xff24273a"
export ITEM_BG_COLOR="0xff494d64"
export RED="0xffed8796"
export PEACH="0xfff5a97f"
export YELLOW="0xffeed49f"
export GREEN="0xffa6da95"
export BLUE="0xff8aadf4"
export TEXT="0xffcad3f5"
export MAUVE="0xffc6a0f6"
-13
View File
@@ -1,13 +0,0 @@
#!/bin/bash
sketchybar --add item battery right \
--set battery update_freq=120 \
script="$PLUGIN_DIR/battery.sh" \
click_script="$PLUGIN_DIR/battery_popup.sh" \
--subscribe battery system_woke power_source_change
sketchybar --add item batteryStatus popup.battery
sketchybar --add item batteryMaintain popup.battery
sketchybar --add item batteryCharge popup.battery
-8
View File
@@ -1,8 +0,0 @@
#!/bin/bash
sketchybar --add item calendar right \
--set calendar icon=󰃰 \
update_freq=1 \
script="$PLUGIN_DIR/calendar.sh"
-10
View File
@@ -1,10 +0,0 @@
#!/bin/bash
sketchybar --add item front_app e \
--set front_app background.color=$ITEM_BG_COLOR \
icon.color=$BLUE \
icon.font="sketchybar-app-font:Regular:16.0" \
label.color=$BLUE \
script="$PLUGIN_DIR/front_app.sh" \
associated_display=1 \
--subscribe front_app front_app_switched
-13
View File
@@ -1,13 +0,0 @@
#!/bin/bash
sketchybar --add item pomodoro q \
--set pomodoro update_freq=1 \
associated_display=1 \
script="$PLUGIN_DIR/pomodoro.sh" \
click_script="$PLUGIN_DIR/pomodoro_popup.sh"
sketchybar --add item focus popup.pomodoro
sketchybar --add item shortBreak popup.pomodoro
sketchybar --add item longBreak popup.pomodoro
-15
View File
@@ -1,15 +0,0 @@
#!/bin/sh
sketchybar --add event aerospace_workspace_change
SPACE_STRS=(    󰏆   󰐫 )
for str in "${SPACE_STRS[@]}"
do
sketchybar -m --add space $str left \
--subscribe $str aerospace_workspace_change \
--set $str icon=$str \
associated_display=1 \
label.font="sketchybar-app-font:Regular:16.0" \
script="$PLUGIN_DIR/space.sh $str"
done
-5
View File
@@ -1,5 +0,0 @@
#!/bin/bash
sketchybar --add item volume right \
--set volume script="$PLUGIN_DIR/volume.sh" \
--subscribe volume volume_change \
-5
View File
@@ -1,5 +0,0 @@
#!/bin/bash
sketchybar --add item wifi right \
--set wifi update_freq=10 \
script="$PLUGIN_DIR/wifi.sh"
-39
View File
@@ -1,39 +0,0 @@
#!/bin/bash
PERCENTAGE="$(pmset -g batt | grep -Eo "\d+%" | cut -d% -f1)"
CHARGING="$(pmset -g batt | grep 'AC Power')"
if [ "$PERCENTAGE" = "" ]; then
exit 0
fi
case "${PERCENTAGE}" in
9[0-9]|100)
ICON=""
COLOR="0xFFA6DA95"
;;
[6-8][0-9])
ICON=""
COLOR="0xFFEED49F"
;;
[3-5][0-9])
ICON=""
COLOR="0xFFF5A97F"
;;
[1-2][0-9])
ICON=""
COLOR="0xFFED8796"
;;
*)
ICON=""
COLOR="0xFFED8796"
esac
if [[ "$CHARGING" != "" ]]; then
ICON=""
COLOR="0xFFA6DA95"
fi
# The item invoking this script (name $NAME) will get its icon and label
# updated with the current battery status
sketchybar --set "$NAME" icon.color="$COLOR" icon="$ICON" label.color="$COLOR" label="${PERCENTAGE}%"
@@ -1,31 +0,0 @@
#!/bin/bash
sketchybar --set battery popup.drawing=toggle \
popup.background.drawing=on \
popup.background.color="0xff363a4f" \
popup.background.corner_radius=3
if /usr/local/bin/battery status | grep -q 'Your battery'; then
sketchybar --set batteryStatus label="Maintaining" \
label.color="0xffa6da95"
sketchybar --set batteryMaintain label="Stop Maintaining" \
label.color="0xffed8796" \
click_script="/usr/local/bin/battery maintain stop && sketchybar --set battery popup.drawing=toggle"
else
sketchybar --set batteryStatus label="Not Maintaining" \
label.color="0xffed8796"
sketchybar --set batteryMaintain label="Maintain" \
label.color="0xffa6da95" \
click_script="/usr/local/bin/battery maintain 80 && sketchybar --set battery popup.drawing=toggle"
fi
if [[ "$CHARGING" != "" ]]; then
sketchybar --set batteryCharge label="Stop Charging" \
label.color="0xffed8796"\
click_script="/usr/local/bin/battery charging off && sketchybar --set battery popup.drawing=toggle"
else
sketchybar --set batteryCharge label="Start Charging" \
label.color="0xffa6da95"\
click_script="/usr/local/bin/battery charging on && sketchybar --set battery popup.drawing=toggle"
fi
-3
View File
@@ -1,3 +0,0 @@
#!/bin/bash
sketchybar --set $NAME label="$(date +'%a %d %b %H:%M:%S')"
-5
View File
@@ -1,5 +0,0 @@
#!/bin/sh
if [ "$SENDER" = "front_app_switched" ]; then
sketchybar --set $NAME label="$INFO" icon="$($CONFIG_DIR/plugins/icon_map_fn.sh "$INFO")"
fi
-435
View File
@@ -1,435 +0,0 @@
function icon_map() {
case "$1" in
"Keynote" | "Keynote 讲演")
icon_result=":keynote:"
;;
"Figma")
icon_result=":figma:"
;;
"VMware Fusion")
icon_result=":vmware_fusion:"
;;
"Alacritty" | "Hyper" | "iTerm2" | "kitty" | "Terminal" | "终端" | "WezTerm")
icon_result=":terminal:"
;;
"Microsoft To Do" | "Things")
icon_result=":things:"
;;
"Keyboard Maestro")
icon_result=":keyboard_maestro:"
;;
"App Store")
icon_result=":app_store:"
;;
"CleanMyMac X")
icon_result=":desktop:"
;;
"Android Messages")
icon_result=":android_messages:"
;;
"Reeder")
icon_result=":reeder5:"
;;
"Joplin")
icon_result=":joplin:"
;;
"Discord" | "Discord Canary" | "Discord PTB")
icon_result=":discord:"
;;
"Logseq")
icon_result=":logseq:"
;;
"Microsoft Excel")
icon_result=":microsoft_excel:"
;;
"Microsoft PowerPoint")
icon_result=":microsoft_power_point:"
;;
"Telegram")
icon_result=":telegram:"
;;
"Transmit")
icon_result=":transmit:"
;;
"Pi-hole Remote")
icon_result=":pihole:"
;;
"League of Legends")
icon_result=":league_of_legends:"
;;
"Element")
icon_result=":element:"
;;
"Zulip")
icon_result=":zulip:"
;;
"Sequel Ace")
icon_result=":sequel_ace:"
;;
"Zed")
icon_result=":zed:"
;;
"TeamSpeak 3")
icon_result=":team_speak:"
;;
"1Password")
icon_result=":one_password:"
;;
"Caprine")
icon_result=":caprine:"
;;
"카카오톡")
icon_result=":kakaotalk:"
;;
"Dropbox")
icon_result=":dropbox:"
;;
"Kakoune")
icon_result=":kakoune:"
;;
"Rider" | "JetBrains Rider")
icon_result=":rider:"
;;
"Godot")
icon_result=":godot:"
;;
"qutebrowser")
icon_result=":qute_browser:"
;;
"Typora")
icon_result=":text:"
;;
"Sequel Pro")
icon_result=":sequel_pro:"
;;
"Reminders" | "提醒事项")
icon_result=":reminders:"
;;
"Setapp")
icon_result=":setapp:"
;;
"Finder" | "访达")
icon_result=":finder:"
;;
"Matlab")
icon_result=":matlab:"
;;
"LibreWolf")
icon_result=":libre_wolf:"
;;
"Notes" | "备忘录")
icon_result=":notes:"
;;
"Notion")
icon_result=":notion:"
;;
"Brave Browser")
icon_result=":brave_browser:"
;;
"Spotlight")
icon_result=":spotlight:"
;;
"Iris")
icon_result=":iris:"
;;
"Tower")
icon_result=":tower:"
;;
"Jellyfin Media Player")
icon_result=":jellyfin:"
;;
"Code" | "Code - Insiders")
icon_result=":code:"
;;
"Linear")
icon_result=":linear:"
;;
"Live")
icon_result=":ableton:"
;;
"Parallels Desktop")
icon_result=":parallels:"
;;
"Final Cut Pro")
icon_result=":final_cut_pro:"
;;
"Chromium" | "Google Chrome" | "Google Chrome Canary")
icon_result=":google_chrome:"
;;
"GitHub Desktop")
icon_result=":git_hub:"
;;
"Firefox")
icon_result=":firefox:"
;;
"Slack")
icon_result=":slack:"
;;
"Spotify")
icon_result=":spotify:"
;;
"Neovide" | "MacVim" | "Vim" | "VimR")
icon_result=":vim:"
;;
"KeePassXC")
icon_result=":kee_pass_x_c:"
;;
"PomoDone App")
icon_result=":pomodone:"
;;
"DEVONthink 3")
icon_result=":devonthink3:"
;;
"Color Picker" | "数码测色计")
icon_result=":color_picker:"
;;
"Tweetbot" | "Twitter")
icon_result=":twitter:"
;;
"Default")
icon_result=":default:"
;;
"Pages" | "Pages 文稿")
icon_result=":pages:"
;;
"Emacs")
icon_result=":emacs:"
;;
"MAMP" | "MAMP PRO")
icon_result=":mamp:"
;;
"Canary Mail" | "HEY" | "Mail" | "Mailspring" | "MailMate" | "邮件")
icon_result=":mail:"
;;
"WebStorm")
icon_result=":web_storm:"
;;
"TickTick")
icon_result=":tick_tick:"
;;
"TIDAL")
icon_result=":tidal:"
;;
"VLC")
icon_result=":vlc:"
;;
"Blender")
icon_result=":blender:"
;;
"Music" | "音乐")
icon_result=":music:"
;;
"Calendar" | "日历" | "Fantastical" | "Cron" | "Amie")
icon_result=":calendar:"
;;
"Evernote Legacy")
icon_result=":evernote_legacy:"
;;
"Microsoft Word")
icon_result=":microsoft_word:"
;;
"Safari" | "Safari浏览器" | "Safari Technology Preview")
icon_result=":safari:"
;;
"MoneyMoney")
icon_result=":bank:"
;;
"Xcode")
icon_result=":xcode:"
;;
"Numbers" | "Numbers 表格")
icon_result=":numbers:"
;;
"ClickUp")
icon_result=":click_up:"
;;
"Arc")
icon_result=":arc:"
;;
"Zeplin")
icon_result=":zeplin:"
;;
"Trello")
icon_result=":trello:"
;;
"Vivaldi")
icon_result=":vivaldi:"
;;
"Calibre")
icon_result=":book:"
;;
"Min")
icon_result=":min_browser:"
;;
"网易云音乐")
icon_result=":netease_music:"
;;
"GrandTotal" | "Receipts")
icon_result=":dollar:"
;;
"zoom.us")
icon_result=":zoom:"
;;
"Folx")
icon_result=":folx:"
;;
"微信")
icon_result=":wechat:"
;;
"Orion" | "Orion RC")
icon_result=":orion:"
;;
"Notability")
icon_result=":notability:"
;;
"Todoist")
icon_result=":todoist:"
;;
"Replit")
icon_result=":replit:"
;;
"Tor Browser")
icon_result=":tor_browser:"
;;
"Drafts")
icon_result=":drafts:"
;;
"Preview" | "预览" | "Skim" | "zathura")
icon_result=":pdf:"
;;
"PyCharm")
icon_result=":pycharm:"
;;
"Audacity")
icon_result=":audacity:"
;;
"Cypress")
icon_result=":cypress:"
;;
"VSCodium")
icon_result=":vscodium:"
;;
"Podcasts" | "播客")
icon_result=":podcasts:"
;;
"DingTalk" | "钉钉" | "阿里钉")
icon_result=":dingtalk:"
;;
"OBS")
icon_result=":obsstudio:"
;;
"Firefox Developer Edition" | "Firefox Nightly")
icon_result=":firefox_developer_edition:"
;;
"Alfred")
icon_result=":alfred:"
;;
"OmniFocus")
icon_result=":omni_focus:"
;;
"Skype")
icon_result=":skype:"
;;
"Spark Desktop")
icon_result=":spark:"
;;
"Docker" | "Docker Desktop")
icon_result=":docker:"
;;
"Signal")
icon_result=":signal:"
;;
"Pine")
icon_result=":pine:"
;;
"Insomnia")
icon_result=":insomnia:"
;;
"Microsoft Edge")
icon_result=":microsoft_edge:"
;;
"Affinity Photo")
icon_result=":affinity_photo:"
;;
"Sketch")
icon_result=":sketch:"
;;
"Android Studio")
icon_result=":android_studio:"
;;
"Bitwarden")
icon_result=":bit_warden:"
;;
"Affinity Publisher")
icon_result=":affinity_publisher:"
;;
"Zotero")
icon_result=":zotero:"
;;
"Sublime Text")
icon_result=":sublime_text:"
;;
"Warp")
icon_result=":warp:"
;;
"Messages" | "信息" | "Nachrichten")
icon_result=":messages:"
;;
"Obsidian")
icon_result=":obsidian:"
;;
"IntelliJ IDEA")
icon_result=":idea:"
;;
"Atom")
icon_result=":atom:"
;;
"FaceTime" | "FaceTime 通话")
icon_result=":face_time:"
;;
"Yuque" | "语雀")
icon_result=":yuque:"
;;
"Grammarly Editor")
icon_result=":grammarly:"
;;
"Mattermost")
icon_result=":mattermost:"
;;
"Affinity Designer")
icon_result=":affinity_designer:"
;;
"mpv")
icon_result=":mpv:"
;;
"Thunderbird")
icon_result=":thunderbird:"
;;
"Airmail")
icon_result=":airmail:"
;;
"Microsoft Teams")
icon_result=":microsoft_teams:"
;;
"Bear")
icon_result=":bear:"
;;
"System Preferences" | "System Settings" | "系统设置")
icon_result=":gear:"
;;
"Nova")
icon_result=":nova:"
;;
"WhatsApp")
icon_result=":whats_app:"
;;
*)
icon_result=":default:"
;;
esac
}
icon_map "$1"
echo "$icon_result"
-57
View File
@@ -1,57 +0,0 @@
#!/bin/bash
WORKSOUND_FILE="/Users/jirayu/Projects/JR/sw/dotfiles/.config/sketchybar/sound/ytmp3free.cc_green-screen-happy-happy-happy-cat-meme-youtubemp3free.org.mp3"
BREAKSOUND_FILE="/Users/jirayu/Projects/JR/sw/dotfiles/.config/sketchybar/sound/sad.mp3"
STATE_FILE="/Users/jirayu/.pomodoro_sound_state"
playsound() {
local current_status="$1"
local last_status=""
if [ -f "$STATE_FILE" ]; then
last_status=$(cat "$STATE_FILE")
fi
if [ "$current_status" != "$last_status" ]; then
if [ "$current_status" == "break_done" ]; then
afplay "$BREAKSOUND_FILE" &
else
afplay "$WORKSOUND_FILE" &
fi
rm -f "$STATE_FILE"
echo "$current_status" > "$STATE_FILE"
fi
}
STATUS=$(/usr/local/bin/pomodoro status)
if [ -z "$STATUS" ]; then
sketchybar --set pomodoro icon="" \
label="Start a Session!" \
icon.color="0xffed8796" \
label.color="0xffed8796"
elif /usr/local/bin/pomodoro status | grep -q "Break: ❗️"; then
sketchybar --set pomodoro icon="" \
label="Start a new Session!" \
icon.color="0xffed8796" \
label.color="0xffed8796"
playsound "break_done"
elif /usr/local/bin/pomodoro status | grep -q "Pomodoro: ❗"; then
sketchybar --set pomodoro icon="" \
label="Good Job! Take a break!" \
icon.color="0xffed8796" \
label.color="0xffed8796"
playsound "pomodoro_done"
elif /usr/local/bin/pomodoro status | grep -q "Pomodoro"; then
sketchybar --set pomodoro icon="" \
label="$(/usr/local/bin/pomodoro status -f "%r")" \
icon.color="0xfff5bde6" \
label.color="0xfff5bde6"
elif /usr/local/bin/pomodoro status | grep -q "Break"; then
sketchybar --set pomodoro icon="󱅻" \
label="$(/usr/local/bin/pomodoro status -f "%r")" \
icon.color="0xff7dc4e4" \
label.color="0xff7dc4e4"
fi
@@ -1,74 +0,0 @@
#!/bin/sh
sketchybar --set pomodoro popup.drawing=toggle \
popup.background.drawing=on \
popup.background.color="0xff363a4f" \
popup.background.corner_radius=3
STATUS=$(/usr/local/bin/pomodoro status)
if [ "$STATUS" = "" ]; then
sketchybar --set focus icon="󰣉" \
label="Focus 50:00" \
icon.color="0xfff5bde6" \
label.color="0xfff5bde6" \
click_script="/usr/local/bin/pomodoro start --duration 50 && sketchybar --set pomodoro popup.drawing=toggle"
sketchybar --set shortBreak icon="󱅻" \
label="Short Break 5:00" \
icon.color="0xffcad3f5" \
label.color="0xffcad3f5" \
click_script=""
sketchybar --set longBreak icon="" \
label="Long Break 15:00" \
icon.color="0xffcad3f5" \
label.color="0xffcad3f5" \
click_script=""
elif /usr/local/bin/pomodoro status | grep -q "Break: ❗️"; then
sketchybar --set focus icon="󰣉" \
label="Focus 50:00" \
icon.color="0xfff5bde6" \
label.color="0xfff5bde6" \
click_script="/usr/local/bin/pomodoro start --duration 50 && sketchybar --set pomodoro popup.drawing=toggle"
sketchybar --set shortBreak icon="󱅻" \
label="Short Break 5:00" \
icon.color="0xffcad3f5" \
label.color="0xffcad3f5" \
click_script=""
sketchybar --set longBreak icon="" \
label="Long Break 15:00" \
icon.color="0xffcad3f5" \
label.color="0xffcad3f5" \
click_script=""
elif /usr/local/bin/pomodoro status | grep -q "Pomodoro: ❗"; then
sketchybar --set focus icon="󰣉" \
label="Focus 50:00" \
icon.color="0xffcad3f5" \
label.color="0xffcad3f5" \
click_script=""
sketchybar --set shortBreak icon="󱅻" \
label="Short Break 5:00" \
icon.color="0xff91d7e3" \
label.color="0xff91d7e3" \
click_script="/usr/local/bin/pomodoro break && sketchybar --set pomodoro popup.drawing=toggle"
sketchybar --set longBreak icon="" \
label="Long Break 15:00" \
icon.color="0xff91d7e3" \
label.color="0xff91d7e3" \
click_script="/usr/local/bin/pomodoro break -d 15 && sketchybar --set pomodoro popup.drawing=toggle"
else
sketchybar --set focus icon="󰣉" \
label="Focus 50:00" \
icon.color="0xffcad3f5" \
label.color="0xffcad3f5" \
click_script=""
sketchybar --set shortBreak icon="󱅻" \
label="Short Break 5:00" \
icon.color="0xffcad3f5" \
label.color="0xffcad3f5" \
click_script=""
sketchybar --set longBreak icon="" \
label="Long Break 15:00" \
icon.color="0xffcad3f5" \
label.color="0xffcad3f5" \
click_script=""
fi
-14
View File
@@ -1,14 +0,0 @@
#!/bin/bash
source "$CONFIG_DIR/colors.sh"
if [ "$1" = "$FOCUSED_WORKSPACE" ]; then
sketchybar --set $NAME background.drawing=on \
background.color=$BLUE \
label.color=$BAR_COLOR \
icon.color=$BAR_COLOR
else
sketchybar --set $NAME background.drawing=off \
label.color=$BLUE \
icon.color=$BLUE
fi
-28
View File
@@ -1,28 +0,0 @@
#!/bin/sh
# The volume_change event supplies a $INFO variable in which the current volume
# percentage is passed to the script.
if [ "$SENDER" = "volume_change" ]; then
VOLUME="$INFO"
case "$VOLUME" in
[6-9][0-9]|100)
ICON="󰕾"
COLOR="0xff8aadf4"
;;
[3-5][0-9])
ICON="󰖀"
COLOR="0xff8aadf4"
;;
[1-9]|[1-2][0-9])
ICON="󰕿"
COLOR="0xffed8796"
;;
*)
ICON="󰖁"
COLOR="0xffed8796"
esac
sketchybar --set "$NAME" icon.color="$COLOR" icon="$ICON" label.color="$COLOR" label="$VOLUME%"
fi
-21
View File
@@ -1,21 +0,0 @@
#!/bin/sh
if networksetup -getairportpower en0 | grep -q "On"; then
SSID=$(ipconfig getsummary en0 | awk -F ' SSID : ' '/ SSID : / {print $2}')
if [ -z "$SSID" ]; then
sketchybar --set wifi icon="󱛅" \
label="Disconnected" \
label.color="0xffed8796" \
icon.color="0xffed8796"
else
sketchybar --set wifi icon="󰖩" \
label="$SSID" \
label.color="0xffc6a0f6" \
icon.color="0xffc6a0f6"
fi
else
sketchybar --set wifi icon="󰖪" \
label="Off" \
label.color="0xffed8796" \
icon.color="0xffed8796"
fi
-60
View File
@@ -1,60 +0,0 @@
#!/bin/bash
source "$CONFIG_DIR/colors.sh"
# This is a demo config to showcase some of the most important commands.
# It is meant to be changed and configured, as it is intentionally kept sparse.
# For a (much) more advanced configuration example see my dotfiles:
# https://github.com/FelixKratz/dotfiles
PLUGIN_DIR="$CONFIG_DIR/plugins"
ITEM_DIR="$CONFIG_DIR/items"
HELPER_DIR="$CONFIG_DIR/helper"
##### Bar Appearance #####
# Configuring the general appearance of the bar.
# These are only some of the options available. For all options see:
# https://felixkratz.github.io/SketchyBar/config/bar
# If you are looking for other colors, see the color picker:
# https://felixkratz.github.io/SketchyBar/config/tricks#color-picker
sketchybar --bar position=top height=32 blur_radius=30 color=$BAR_COLOR notch_width=180
##### Changing Defaults #####
# We now change some default values, which are applied to all further items.
# For a full list of all available item properties see:
# https://felixkratz.github.io/SketchyBar/config/items
default=(
padding_left=5
padding_right=5
icon.font="JetBrainsMono Nerd Font:Bold:15.0"
label.font="JetBrainsMono Nerd Font:Bold:13.0"
background.color=$ITEM_BG_COLOR
background.corner_radius=5
background.height=24
icon.padding_left=4
icon.padding_right=4
label.padding_left=4
label.padding_right=4
)
sketchybar --default "${default[@]}"
# --Left Side Items --
source $ITEM_DIR/spaces.sh
# --Middle Items --
source $ITEM_DIR/pomodoro.sh
source $ITEM_DIR/front_app.sh
# --Right Side Items --
source $ITEM_DIR/calendar.sh
source $ITEM_DIR/volume.sh
source $ITEM_DIR/battery.sh
source $ITEM_DIR/wifi.sh
##### Force all scripts to run the first time (never do this in a script) #####
sketchybar --update
Binary file not shown.
-21
View File
@@ -1,21 +0,0 @@
# Get editor completions based on the config schema
"$schema" = 'https://starship.rs/config-schema.json'
# Minimal left prompt
format = """$directory$character"""
# Right prompt
right_format = """$git_branch$git_commit$git_status$python$c"""
# Inserts a blank line between shell prompts
add_newline = true
# Replace the '' symbol in the prompt with '➜'
[character] # The name of the module we are configuring is 'character'
success_symbol = '[](bold green)' # The 'success_symbol' segment is being set to '➜' with the color 'bold green'
# Git module
[git_branch]
format = ' [$symbol$branch(:$remote_branch)]($style)'
# Disable the package module, hiding it from the prompt completely
[package]
disabled = false
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
{"binaries":["uv","uvx"],"binary_aliases":{},"cdylibs":[],"cstaticlibs":[],"install_layout":"flat","install_prefix":"/Users/jirayu/.local/bin","modify_path":true,"provider":{"source":"cargo-dist","version":"0.30.1"},"source":{"app_name":"uv","name":"uv","owner":"astral-sh","release_type":"github"},"version":"0.9.7"}
-96
View File
@@ -1,96 +0,0 @@
-- Pull in the wezterm API
local wezterm = require("wezterm")
-- require plugin
local sessionizer = wezterm.plugin.require("https://github.com/mikkasendke/sessionizer.wezterm")
-- initialize module vairable
local module = {}
local edu_schema = {
options = {
prompt = "Select a project: ",
},
"EDU",
"default",
wezterm.home_dir .. "/Polybox_ETH/",
wezterm.home_dir .. "/Nextcloud/Vault/edu/ETH/hs25/analysis_I",
wezterm.home_dir .. "/Nextcloud/Vault/edu/ETH/fs26/analysis_II",
wezterm.home_dir .. "/Nextcloud/Vault/edu/ETH/fs26/informatik_I",
wezterm.home_dir .. "/Nextcloud/Vault/edu/ETH/fs26/italian",
wezterm.home_dir .. "/Nextcloud/Vault/edu/ETH/fs26/lineare_algebra_wiederholung",
wezterm.home_dir .. "/Nextcloud/Vault/edu/ETH/fs26/mathematische_methoden",
wezterm.home_dir .. "/Nextcloud/Vault/edu/ETH/fs26/nus_II",
wezterm.home_dir .. "/Nextcloud/Vault/edu/ETH/fs26/physik_I",
sessionizer.FdSearch({ fd_path = "/opt/homebrew/bin/fd", wezterm.home_dir .. "/Projects/EDU" }),
}
local sw_schema = {
options = {
prompt = "Select a project: ",
},
"software",
"default",
{ label = "JirR02", id = wezterm.home_dir .. "/Projects/JirR02" },
{ label = "blogwiki", id = wezterm.home_dir .. "/Projects/JR/blogwiki" },
sessionizer.FdSearch({ fd_path = "/opt/homebrew/bin/fd", wezterm.home_dir .. "/Projects/JR/sw" }),
sessionizer.FdSearch({ fd_path = "/opt/homebrew/bin/fd", wezterm.home_dir .. "/Projects/Private" }),
sessionizer.FdSearch({ fd_path = "/opt/homebrew/bin/fd", wezterm.home_dir .. "~/Projects/Public" }),
}
local hw_schema = {
options = {
prompt = "Select a project: ",
},
"hardware",
"default",
wezterm.home_dir .. "/Nextcloud/Vault/maker_space",
sessionizer.FdSearch({ fd_path = "/opt/homebrew/bin/fd", wezterm.home_dir .. "/Projects/JR/hw" }),
}
local choice = {
{ label = "EDU", id = "edu" },
{ label = "JR Software", id = "sw" },
{ label = "JR Hardware", id = "hw" },
}
-- key map
module.keys = {
{
key = "s",
mods = "LEADER",
action = wezterm.action_callback(function(window, pane)
window:perform_action(
wezterm.action.InputSelector({
title = "Choose Session Category",
choices = choice,
action = wezterm.action_callback(function(inner_window, inner_pane, id, label)
-- If the user escapes/cancels, do nothing
if not id then
return
end
-- Select the schema based on the ID chosen
local selected_schema
if id == "edu" then
selected_schema = edu_schema
elseif id == "sw" then
selected_schema = sw_schema
elseif id == "hw" then
selected_schema = hw_schema
end
-- Now trigger the actual sessionizer with the sub-schema
inner_window:perform_action(sessionizer.show(selected_schema), inner_pane)
end),
}),
pane
)
end),
},
}
return module
-57
View File
@@ -1,57 +0,0 @@
local wezterm = require("wezterm")
-- if you are *NOT* lazy-loading smart-splits.nvim (recommended)
local function is_vim(pane)
-- this is set by the plugin, and unset on ExitPre in Neovim
return pane:get_user_vars().IS_NVIM == "true"
end
-- if you *ARE* lazy-loading smart-splits.nvim (not recommended)
-- you have to use this instead, but note that this will not work
-- in all cases (e.g. over an SSH connection). Also note that
-- `pane:get_foreground_process_name()` can have high and highly variable
-- latency, so the other implementation of `is_vim()` will be more
-- performant as well.
local direction_keys = {
h = "Left",
j = "Down",
k = "Up",
l = "Right",
}
local function split_nav(resize_or_move, key)
return {
key = key,
mods = resize_or_move == "resize" and "CTRL|SHIFT" or "CTRL",
action = wezterm.action_callback(function(win, pane)
if is_vim(pane) then
-- pass the keys through to vim/nvim
win:perform_action({
SendKey = { key = key, mods = resize_or_move == "resize" and "CTRL|SHIFT" or "CTRL" },
}, pane)
else
if resize_or_move == "resize" then
win:perform_action({ AdjustPaneSize = { direction_keys[key], 3 } }, pane)
else
win:perform_action({ ActivatePaneDirection = direction_keys[key] }, pane)
end
end
end),
}
end
return {
keys = {
-- move between split panes
split_nav("move", "h"),
split_nav("move", "j"),
split_nav("move", "k"),
split_nav("move", "l"),
-- resize panes
split_nav("resize", "h"),
split_nav("resize", "j"),
split_nav("resize", "k"),
split_nav("resize", "l"),
},
}
-50
View File
@@ -1,50 +0,0 @@
-- Pull in the wezterm API
local wezterm = require("wezterm")
-- require plugin
local tabline = wezterm.plugin.require("https://github.com/michaelbrusegard/tabline.wez")
-- initialize module variable
local module = {}
-- initialize setup function
function module.apply_to_config(config)
tabline.setup({
options = {
theme = "Catppuccin Macchiato",
section_separators = {
left = wezterm.nerdfonts.ple_right_half_circle_thick,
right = wezterm.nerdfonts.ple_left_half_circle_thick,
},
component_separators = {
left = wezterm.nerdfonts.ple_left_half_circle_thin,
right = wezterm.nerdfonts.ple_left_half_circle_thin,
},
tab_separators = {
left = wezterm.nerdfonts.ple_right_half_circle_thick,
right = wezterm.nerdfonts.ple_left_half_circle_thick,
},
},
sections = {
tab_active = {
"index",
":",
"tab",
},
tab_inactive = {
"index",
":",
"tab",
},
tabline_x = {},
tabline_y = {},
tabline_z = { "datetime" },
},
})
end
return module
-241
View File
@@ -1,241 +0,0 @@
-- Pull in the wezterm API
local wezterm = require("wezterm")
-- This will hold the configuration.
local config = wezterm.config_builder()
-- Wezterm plugins
local sessionizer = require("plugins/sessionizer")
local tabline = require("plugins/tabline")
local smart_splits = require("plugins/smart_splits")
-- This will hold the actions
local actions = wezterm.action
-- TMUX config
-- Leader key like in TMUX
config.leader = { key = "a", mods = "CTRL", timeout_milliseconds = 1000 }
-- unix socket to enable sessions
config.unix_domains = {
{
name = "unix",
},
}
-- general keybindings
config.keys = {
{
key = "p",
mods = "CTRL",
action = wezterm.action.ShowDebugOverlay,
},
{
-- sessionizer
key = "s",
mods = "LEADER|SHIFT",
action = actions.PromptInputLine({
description = wezterm.format({
{ Attribute = { Intensity = "Bold" } },
{ Foreground = { AnsiColor = "Fuchsia" } },
{ Text = "Enter name for new workspace" },
}),
action = wezterm.action_callback(function(window, pane, line)
if line then
window:perform_action(
actions.SwitchToWorkspace({
name = line,
}),
pane
)
end
end),
}),
},
{
-- Maximize Pane
key = "m",
mods = "LEADER",
action = actions.TogglePaneZoomState,
},
-- Split Panes
{
key = "-",
mods = "LEADER",
action = actions.SplitVertical,
},
{
key = "|",
mods = "LEADER",
action = actions.SplitHorizontal,
},
-- Rename Session or Tab
{
key = ",",
mods = "LEADER",
action = wezterm.action.PromptInputLine({
description = "Enter new workspace name",
action = wezterm.action_callback(function(window, pane, line)
if line and line ~= "" then
window:set_workspace(line)
wezterm.notify("Workspace renamed to: " .. line, "WezTerm", { urgency = "normal" })
else
wezterm.notify("Workspace rename cancelled", "WezTerm", { urgency = "normal" })
end
end),
}),
},
{
key = ".",
mods = "LEADER",
action = wezterm.action.PromptInputLine({
description = "Enter new tab title",
action = wezterm.action_callback(function(window, pane, line)
if line and line ~= "" then
pane:tab():set_title(line)
wezterm.notify("Tab renamed to: " .. line, "WezTerm", { urgency = "normal" })
else
wezterm.notify("Tab rename cancelled", "WezTerm", { urgency = "normal" })
end
end),
}),
},
-- Create and Kill Tab
{
key = "c",
mods = "LEADER",
action = actions.SpawnCommandInNewTab,
},
{
key = "x",
mods = "LEADER",
action = wezterm.action_callback(function(window, pane)
local tab = pane:tab()
if tab then
local pane_count = #tab:panes()
if pane_count > 1 then
window:perform_action(wezterm.action.CloseCurrentPane({ confirm = false }), pane)
else
window:perform_action(wezterm.action.CloseCurrentTab({ confirm = false }), pane)
end
else
wezterm.notify("No tab found, cannot close", "WezTerm", { urgency = "normal" })
end
end),
},
-- Move Tab to index
{
key = "/",
mods = "LEADER",
action = wezterm.action.PromptInputLine({
description = "Move Tab to Index",
action = wezterm.action_callback(function(window, pane, line)
if not line or line == "" then
wezterm.notify("Tab move cancelled", "WezTerm", { urgency = "normal" })
return
end
local index = tonumber(line)
if not index then
wezterm.notify("Invalid index: must be a number", "WezTerm", { urgency = "normal" })
return
end
-- Convert 1-based user input to 0-based index
index = index - 1
local tab_count = #window:mux_window():tabs()
if index < 0 or index >= tab_count then
wezterm.notify(
"Invalid index: must be between 1 and " .. tab_count,
"WezTerm",
{ urgency = "normal" }
)
return
end
window:perform_action(wezterm.action.MoveTab(index), pane)
wezterm.notify("Tab moved to index: " .. (index + 1), "WezTerm", { urgency = "normal" })
end),
}),
},
-- Move to next and previous Tab
{
key = "n",
mods = "LEADER",
action = actions.ActivateTabRelative(1),
},
{
key = "p",
mods = "LEADER",
action = actions.ActivateTabRelative(-1),
},
-- Vim Mode
{
key = "]",
mods = "LEADER",
action = actions.ActivateCopyMode,
},
}
-- Go to Tab with index
for i = 1, 8 do
-- LEADER + number to move to that position
table.insert(config.keys, {
key = tostring(i),
mods = "LEADER",
action = actions.ActivateTab(i - 1),
})
end
-- This causes `wezterm` to act as though it was started as
-- `wezterm connect unix` by default, connecting to the unix
-- domain on startup.
-- If you prefer to connect manually, leave out this line.
config.default_gui_startup_args = { "connect", "unix" }
-- Tabline plugin
tabline.apply_to_config(config)
-- Append keys from plugins
for _, key in ipairs(sessionizer.keys) do
table.insert(config.keys, key)
end
for _, key in ipairs(smart_splits.keys) do
table.insert(config.keys, key)
end
-- Font Config
config.font = wezterm.font({
family = "JetBrainsMono Nerd Font",
assume_emoji_presentation = false,
})
config.font_size = 13
-- Color Scheme
config.color_scheme = "Catppuccin Macchiato"
-- Window Config
config.window_decorations = "RESIZE"
config.use_fancy_tab_bar = false
--Key Config
config.send_composed_key_when_left_alt_is_pressed = true
--Variables
config.set_environment_variables = {
PATH = os.getenv("PATH"),
}
return config
-50
View File
@@ -1,50 +0,0 @@
set window-title-basename "true"
set selection-clipboard "clipboard"
# Dracula color theme
set notification-error-bg "#ff5555" # Red
set notification-error-fg "#f8f8f2" # Foreground
set notification-warning-bg "#ffb86c" # Orange
set notification-warning-fg "#44475a" # Selection
set notification-bg "#282a36" # Background
set notification-fg "#f8f8f2" # Foreground
set completion-bg "#282a36" # Background
set completion-fg "#6272a4" # Comment
set completion-group-bg "#282a36" # Background
set completion-group-fg "#6272a4" # Comment
set completion-highlight-bg "#44475a" # Selection
set completion-highlight-fg "#f8f8f2" # Foreground
set index-bg "#282a36" # Background
set index-fg "#f8f8f2" # Foreground
set index-active-bg "#44475a" # Current Line
set index-active-fg "#f8f8f2" # Foreground
set inputbar-bg "#282a36" # Background
set inputbar-fg "#f8f8f2" # Foreground
set statusbar-bg "#282a36" # Background
set statusbar-fg "#f8f8f2" # Foreground
set highlight-color "#ffb86c" # Orange
set highlight-active-color "#ff79c6" # Pink
set default-bg "#282a36" # Background
set default-fg "#f8f8f2" # Foreground
set render-loading true
set render-loading-fg "#282a36" # Background
set render-loading-bg "#f8f8f2" # Foreground
set recolor-lightcolor "#282a36" # Background
set recolor-darkcolor "#f8f8f2" # Foreground
set adjust-open width
# Keymaps
map r recolor
map f adjust_window best-fit
map w adjust_window width
map p goto
-14
View File
@@ -1,14 +0,0 @@
# Exclude following Files
.config/raycast
.config/macchina/
.config/kicad-db-lib/
.config/kicad/
.config/tmux/plugins/
.config/thefuck/
.config/opencode
# Copyright Reasons
.config/nvim/templates/latex/eth_paper
.config/nvim/templates/latex/eth_beamer
-6
View File
@@ -1,6 +0,0 @@
.git
.gitignore
.gitmodules
desktop.png
README.md
LICENSE
-5
View File
@@ -1,5 +0,0 @@
eval "$(/opt/homebrew/bin/brew shellenv)"
export PATH="$(brew --prefix python)/libexec/bin:$PATH"
# Created by `pipx` on 2024-11-21 21:29:27
export PATH="$PATH:/Users/jirayu/.local/bin"
-193
View File
@@ -1,193 +0,0 @@
########################
# Initialize oh-my-zsh #
########################
export ZSH="$HOME/.oh-my-zsh"
#####################
# oh-my-zsh plugins #
#####################
plugins=(zsh-autosuggestions sudo zsh-syntax-highlighting)
source $ZSH/oh-my-zsh.sh
######################
# User configuration #
######################
export DBUS_SESSION_BUS_ADRESS="unix:path=$DBUS_LAUNCHD_SESSION_BUS_SOCKET"
##############
# on startup #
##############
clear
fastfetch
eval $(thefuck --alias)
eval "$(zoxide init --cmd cd zsh)"
######################
# Terminal Shortcuts #
######################
alias srz="source ~/.zshrc"
alias l="eza --tree --level=2 --color=always --long --git --no-filesize --icons=always --no-time --no-user --no-permissions"
function ct {
clear
fastfetch
cd
}
function c {
clear
fastfetch
}
function li () {
eza --color=always --long --git --no-filesize --icons=always --no-time --no-user --no-permissions $1
}
function z () {
zathura $1 &>/dev/null &
}
function s () {
sioyek $1 --new-window --execute-command toggle_presentation_mode toggle_custom_color&>/dev/null &
}
##########
# Docker #
##########
function isfestart ()
{
cp ~/Projects/Private/isfe_exercises/template/Dockerfile .
cp ~/Projects/Private/isfe_exercises/template/install.sh .
cp ~/Projects/Private/isfe_exercises/template/docker-compose.yml .
cp -r ~/Projects/Private/isfe_exercises/template/files .
cp -r ~/Projects/Private/isfe_exercises/template/notebooks .
mv ex*_notebook.ipynb notebooks
docker-compose build --no-cache
docker-compose up -d
}
function isfestop ()
{
docker-compose down
mv notebooks/ex*_notebook.ipynb .
rm Dockerfile
rm install.sh
rm docker-compose.yml
rm -rf files
rm -rf notebooks
docker system prune -a
}
function pestart ()
{
cp ~/Projects/Private/class-hs25/template/Dockerfile .
cp ~/Projects/Private/class-hs25/template/docker-compose.yml .
docker-compose build --no-cache
docker-compose up -d
}
function pestop ()
{
docker-compose down
rm docker-compose.yml
rm Dockerfile
rm -rf .*
docker system prune -a
}
#########
# Latex #
#########
function theory () {
mkdir fig
cp ~/.config/nvim/templates/latex/theory/letterfonts.latex .
cp ~/.config/nvim/templates/latex/theory/macros.latex .
cp ~/.config/nvim/templates/latex/theory/preamble.latex .
cp ~/.config/nvim/templates/latex/theory/main.latex .
mv main.latex main.tex
mv preamble.latex preamble.tex
mv macros.latex macros.tex
mv letterfonts.latex letterfonts.tex
}
alias Facharbeit="cp ~/Nextcloud/Layouts/Facharbeit/Facharbeit.tex ."
alias Layout="cp ~/Nextcloud/Layouts/Layout/layout.tex ."
###########
# Prompts #
###########
function PromptAna {
local prompt_text='Write a short summary in German of the Presentation to the [] supplementing the summary with content from [] from the Script of my Professor. The Summary should be 3-4 Pages of length beginning with a short overview of the chapter followed up with the relevant information. Put important definitions, concepts and remarks in separate codeblocks of the following format: Defintion: \dfn{Title}{Definition}, concept: \thm{title}{Theorem}, remark: \nt{remark}. Please use LaTeX to write this summary and output your answer in a codeblock. Do not use any numbers to indicate where you got the information from. I will input this chapter to the main file so leave out the preamble as well as the begin document section. In addition, please use normal sections i.e. \section{...} and not \section*{...} and do not numberate the section titles.'
printf '%s' "$prompt_text" | pbcopy
}
function PromptInfo {
local prompt_text='Write a short summary of the Presentation to the [] supplementing the summary with content to the corresponding presentation of my Professor. The Summary should be 3-4 Pages of length beginning with a short overview of the chapter followed up with the relevant information. Put important definitions, concepts and remarks in separate codeblocks of the following format: Defintion: \dfn{Title}{Definition}, concept: \thm{title}{Theorem}, remark: \nt{remark}. Please use LaTeX to write this summary and output your answer in a codeblock. Do not use any numbers to indicate where you got the information from and do not citate anything from the presentation. Please rewrite the sentences from the presentation. I will input this chapter to the main file so leave out the preamble as well as the begin document section. In addition, please use normal sections i.e. \section{...} and not \section*{...} and do not numberate the section titles.'
printf '%s' "$prompt_text" | pbcopy
}
function PromptKoma {
local prompt_text='Write a short summary in German of the Presentation to the [] supplementing the summary with content from [] from the Script of my Professor. The Summary should be 3-4 Pages of length beginning with a short overview of the chapter followed up with the relevant information. Put important definitions, concepts and remarks in separate codeblocks of the following format: Defintion: \dfn{Title}{Definition}, concept: \thm{title}{Theorem}, remark: \nt{remark}. Please use LaTeX to write this summary and output your answer in a codeblock. Do not use any numbers to indicate where you got the information from. I will input this chapter to the main file so leave out the preamble as well as the begin document section. In addition, please use normal sections i.e. \section{...} and not \section*{...} and do not numberate the section titles.'
printf '%s' "$prompt_text" | pbcopy
}
function PromptNUS {
local prompt_text='Write a short summary in German of the Presentation to the [] supplementing the summary with content from [] from the Script of my Professor. The Summary should be 3-4 Pages of length beginning with a short overview of the chapter followed up with the relevant information. Put important definitions, concepts and remarks in separate codeblocks of the following format: Defintion: \dfn{Title}{Definition}, concept: \thm{title}{Theorem}, remark: \nt{remark}. Please use LaTeX to write this summary and output your answer in a codeblock. Do not use any numbers to indicate where you got the information from. I will input this chapter to the main file so leave out the preamble as well as the begin document section. In addition, please use normal sections i.e. \section{...} and not \section*{...} and do not numberate the section titles.'
printf '%s' "$prompt_text" | pbcopy
}
function PromptPhysik {
local prompt_text='Write a short summary in German of the Presentation to the [] supplementing the summary with content from [] from the "Physics For Scientist and Engineers" Book and the content to the corresponding presentation of my Professor. The Summary should be 3-4 Pages of length beginning with a short overview of the chapter followed up with the relevant information. Put important definitions, concepts and remarks in separate codeblocks of the following format: Defintion: \dfn{Title}{Definition}, concept: \thm{title}{Theorem}, remark: \nt{remark}. Please use LaTeX to write this summary and output your answer in a codeblock. Do not use any numbers to indicate where you got the information from. I will input this chapter to the main file so leave out the preamble as well as the begin document section. In addition, please use normal sections i.e. \section{...} and not \section*{...} and do not numberate the section titles.'
printf '%s' "$prompt_text" | pbcopy
}
#######################
# Initialize Starship #
#######################
eval "$(starship init zsh)"
export STARSHIP_CONFIG=~/.config/starship/starship.toml
###############################################
# Setup fzf key bindings and fuzzy completion #
###############################################
eval "$(fzf --zsh)"
eval "$(/usr/libexec/path_helper)"
####################
# BAT (better cat) #
####################
export BAT_THEME=Dracula
###########
# Lazygit #
###########
alias lg="lazygit"
#######
# pip #
#######
export PATH="$PATH:/Users/jirayu/.local/bin"
#################
# Homebrew path #
#################
export PATH="$PATH:/opt/homebrew/bin"
############
# opencode #
############
export PATH=/Users/jirayu/.opencode/bin:$PATH
export PATH=$PATH:$HOME/go/bin
export STM32CubeMX_PATH=/Applications/STMicroelectronics/STM32CubeMX.app/Contents/Resources
-63
View File
@@ -1,63 +0,0 @@
tap "felixkratz/formulae"
tap "homebrew/bundle"
tap "homebrew/services"
tap "jstkdng/programs"
tap "mhaeuser/mhaeuser"
tap "nikitabobko/tap"
tap "zegervdv/zathura"
brew "bat"
brew "docker-compose"
brew "eza"
brew "fastfetch"
brew "fd"
brew "gcc"
brew "fzf"
brew "git"
brew "gitleaks"
brew "go"
brew "hugo"
brew "lazygit"
brew "mas"
brew "neovim"
brew "openssh"
brew "starship"
brew "stow"
brew "tailscale", restart_service: :changed
brew "tree"
brew "unzip"
brew "wget"
brew "zip"
brew "zoxide"
brew "felixkratz/formulae/sketchybar"
brew "zegervdv/zathura/zathura"
brew "zegervdv/zathura/zathura-pdf-mupdf"
cask "aerospace"
cask "battery"
cask "blender"
cask "discord"
cask "docker-desktop"
cask "eurkey"
cask "font-jetbrains-mono"
cask "font-jetbrains-mono-nerd-font"
cask "freecad"
cask "gimp"
cask "inkscape"
cask "kicad"
cask "ltspice"
cask "mactex-no-gui"
cask "mixxx"
cask "nextcloud"
cask "raycast"
cask "signal"
cask "sioyek"
cask "spotify"
cask "ultimaker-cura"
cask "wezterm"
cask "whatsapp"
cask "zen"
cask "zoom"
mas "Bitwarden", id: 1352778147
mas "Goodnotes", id: 1444383602
mas "Microsoft Excel", id: 462058435
mas "Microsoft PowerPoint", id: 462062816
mas "Microsoft Word", id: 462054704
-1
View File
@@ -156,4 +156,3 @@ Section 8 Interpretation.
Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at creativecommons.org/policies, Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
Creative Commons may be contacted at creativecommons.org.
+2 -19
View File
@@ -1,20 +1,3 @@
# MY DOTFILES 🚀
# dotfiles
![Desktop Image](./desktop.png)
**IMPORTANT: This setup is just a inspiration and a setup I like to use. Do not copy one to one. Use at your own risk.**
For more detailed information read my wiki page about my setup.
This setup is inspired by the following People:
- [josean-dev](https://github.com/josean-dev)
- [Dreams of Code / Dreams of Autonomy](https://github.com/elliottminns)
- [Distrotube](https://gitlab.com/dwt1)
- [DevOps Toolbox / omerxx](https://github.com/omerxx)
Show them some love! ❤️
---
Made by JirR02 in Switzerland 🇨🇭
My dotfiles
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

-29
View File
@@ -1,29 +0,0 @@
#!/bin/zsh
echo "========================"
echo " Setup Script "
echo "========================"
# Check if running on macOS or Linux
if [[ "$(uname)" == "Darwin" ]]; then
OS="macOS"
elif [[ "$(uname)" == "Linux" ]]; then
OS="Linux"
else
error "Unsupported OS: $(uname)"
exit 1
fi
success "Detected OS: $OS"
if [[ "$OS" == "macOS" ]]; then
echo "==========================="
echo " Installing Brew "
echo "==========================="
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
else
echo "Maybe someday Linux..."
fi