Compare commits
21 Commits
macos
...
aaf25faab6
| Author | SHA1 | Date | |
|---|---|---|---|
| aaf25faab6 | |||
| a8d7ae73f4 | |||
| 84bee93e89 | |||
| 0a4ff4c504 | |||
| 2fb3eb1f52 | |||
| 28441df095 | |||
| 2670f63d20 | |||
| 34b5a37e8a | |||
| 7256aef51f | |||
| 05499d1bf7 | |||
| c0a61cf814 | |||
| 88c24e8d37 | |||
| df5b4cd922 | |||
| 5714f8612c | |||
| a0fb1d31f3 | |||
| 417c05c469 | |||
| 2a6d2cbb4d | |||
| acd6b00420 | |||
| 319fceddd0 | |||
| a1354d13fd | |||
| b9262745cb |
6
.Rprofile
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# Default CRAN repository
|
||||||
|
local({
|
||||||
|
r <- getOption("repos")
|
||||||
|
r["CRAN"] <- "https://cran.r-project.org"
|
||||||
|
options(repos=r)
|
||||||
|
})
|
||||||
1
.config/ClickUp/Preferences
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"partition":{"per_host_zoom_levels":{"17930316523213634392":{"app.clickup.com":2.0}}},"spellcheck":{"dictionaries":["en-US","de-DE"],"dictionary":""}}
|
||||||
434
.config/Code/User/keybindings.json
Normal file
@@ -0,0 +1,434 @@
|
|||||||
|
// Place your key bindings in this file to override the defaultsauto[]
|
||||||
|
[
|
||||||
|
// -------------- 1. EDITOR PANE MANAGEMENT --------------
|
||||||
|
// -------------- 1.1 EDITOR PANE CREATION ---------------
|
||||||
|
{
|
||||||
|
"key": "ctrl+a shift+7",
|
||||||
|
"command": "workbench.action.splitEditorRight"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+a -",
|
||||||
|
"command": "workbench.action.splitEditorDown"
|
||||||
|
},
|
||||||
|
// -------------- 1.2 EDITOR PANE SWITCHING --------------
|
||||||
|
{
|
||||||
|
"key": "ctrl+a left",
|
||||||
|
"command": "workbench.action.focusLeftGroup"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+a right",
|
||||||
|
"command": "workbench.action.focusRightGroup"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+a up",
|
||||||
|
"command": "workbench.action.focusAboveGroup"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+a down",
|
||||||
|
"command": "workbench.action.focusBelowGroup"
|
||||||
|
},
|
||||||
|
// --------------- 1.3 EDITOR PANE MOVEMENT --------------
|
||||||
|
{
|
||||||
|
"key": "ctrl+a shift+left",
|
||||||
|
"command": "workbench.action.moveActiveEditorGroupLeft"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+a shift+right",
|
||||||
|
"command": "workbench.action.moveActiveEditorGroupRight"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+a shift+up",
|
||||||
|
"command": "workbench.action.moveActiveEditorGroupUp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+a shift+down",
|
||||||
|
"command": "workbench.action.moveActiveEditorGroupDown"
|
||||||
|
},
|
||||||
|
// ------------------ 2. FILE MANAGEMENT -----------------
|
||||||
|
{
|
||||||
|
"key": "ctrl+e",
|
||||||
|
"command": "workbench.files.action.focusFilesExplorer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+n",
|
||||||
|
"command": "explorer.newFile",
|
||||||
|
"when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+d",
|
||||||
|
"command": "explorer.newFolder",
|
||||||
|
"when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
|
||||||
|
},
|
||||||
|
// ----------------- 3. SYMBOL MANAGEMENT ----------------
|
||||||
|
{
|
||||||
|
"key": "shift+ctrl+r",
|
||||||
|
"command": "editor.action.rename",
|
||||||
|
"when": "editorHasRenameProvider && editorTextFocus && !editorReadonly"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "shift+ctrl+d",
|
||||||
|
"command": "editor.action.revealDefinition",
|
||||||
|
"when": "editorHasDefinitionProvider && editorTextFocus && !isInEmbeddedEditor"
|
||||||
|
},
|
||||||
|
// ------------- 4. VARIOUS EDITOR SHORTCUTS -------------
|
||||||
|
{
|
||||||
|
"key": "ctrl+d",
|
||||||
|
"command": "editor.action.copyLinesDownAction",
|
||||||
|
"when": "editorTextFocus && !editorReadonly"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+t",
|
||||||
|
"command": "workbench.action.createTerminalEditor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+u",
|
||||||
|
"command": "workbench.action.showAllSymbols"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+r",
|
||||||
|
"command": "editor.action.startFindReplaceAction",
|
||||||
|
"when": "editorFocus && findInputFocussed"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "shift+ctrl+w",
|
||||||
|
"command": "workbench.action.closeAllGroups"
|
||||||
|
},
|
||||||
|
// ----------------- 4. REMOVED SHORTCUTS ----------------
|
||||||
|
{
|
||||||
|
"key": "ctrl+d",
|
||||||
|
"command": "-editor.action.addSelectionToNextFindMatch",
|
||||||
|
"when": "editorFocus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "shift+alt+down",
|
||||||
|
"command": "-editor.action.copyLinesDownAction",
|
||||||
|
"when": "editorTextFocus && !editorReadonly"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+t",
|
||||||
|
"command": "-workbench.action.showAllSymbols"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+u",
|
||||||
|
"command": "-cursorUndo",
|
||||||
|
"when": "textInputFocus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+k down",
|
||||||
|
"command": "-workbench.action.moveActiveEditorGroupDown"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+k left",
|
||||||
|
"command": "-workbench.action.moveActiveEditorGroupLeft"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+k right",
|
||||||
|
"command": "-workbench.action.moveActiveEditorGroupRight"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+k up",
|
||||||
|
"command": "-workbench.action.moveActiveEditorGroupUp"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+enter",
|
||||||
|
"command": "-notebook.cell.executeAndInsertBelow",
|
||||||
|
"when": "notebookCellListFocused && notebookCellType == 'markup' || notebookCellListFocused && notebookMissingKernelExtension && !notebookCellExecuting && notebookCellType == 'code' || notebookCellListFocused && !notebookCellExecuting && notebookCellType == 'code' && notebookKernelCount > 0 || notebookCellListFocused && !notebookCellExecuting && notebookCellType == 'code' && notebookKernelSourceCount > 0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+enter",
|
||||||
|
"command": "-debug.openBreakpointToSide",
|
||||||
|
"when": "breakpointsFocused"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "f2",
|
||||||
|
"command": "-editor.action.rename",
|
||||||
|
"when": "editorHasRenameProvider && editorTextFocus && !editorReadonly"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "shift+ctrl+r",
|
||||||
|
"command": "-rerunSearchEditorSearch",
|
||||||
|
"when": "inSearchEditor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "shift+ctrl+w",
|
||||||
|
"command": "-workbench.action.closeWindow"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+k shift+ctrl+w",
|
||||||
|
"command": "-workbench.action.closeAllGroups"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "shift+ctrl+d",
|
||||||
|
"command": "-workbench.view.debug",
|
||||||
|
"when": "viewContainer.workbench.view.debug.enabled"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "f12",
|
||||||
|
"command": "-editor.action.revealDefinition",
|
||||||
|
"when": "editorHasDefinitionProvider && editorTextFocus && !isInEmbeddedEditor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "shift+ctrl+[Comma] ctrl+i",
|
||||||
|
"command": "-testing.toggleInlineTestOutput"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "shift+ctrl+i",
|
||||||
|
"command": "-workbench.action.quickchat.toggle",
|
||||||
|
"when": "hasChatProvider"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "shift+ctrl+[Comma] shift+ctrl+i",
|
||||||
|
"command": "-testing.toggleInlineCoverage",
|
||||||
|
"when": "testing.isTestCoverageOpen"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+f12",
|
||||||
|
"command": "-editor.action.goToImplementation",
|
||||||
|
"when": "editorHasImplementationProvider && editorTextFocus && !isInEmbeddedEditor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "shift+ctrl+f12",
|
||||||
|
"command": "-editor.action.peekImplementation",
|
||||||
|
"when": "editorHasImplementationProvider && editorTextFocus && !inReferenceSearchEditor && !isInEmbeddedEditor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+[BracketRight]",
|
||||||
|
"command": "jupyter.insertCellBelow",
|
||||||
|
"when": "editorTextFocus && jupyter.hascodecells && !jupyter.webExtension && !notebookEditorFocused"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+[Comma] b",
|
||||||
|
"command": "-jupyter.insertCellBelow",
|
||||||
|
"when": "editorTextFocus && jupyter.hascodecells && !jupyter.webExtension && !notebookEditorFocused"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "shift+alt+[BracketRight]",
|
||||||
|
"command": "jupyter.insertCellAbove",
|
||||||
|
"when": "editorTextFocus && jupyter.hascodecells && !jupyter.webExtension && !notebookEditorFocused"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+[Comma] a",
|
||||||
|
"command": "-jupyter.insertCellAbove",
|
||||||
|
"when": "editorTextFocus && jupyter.hascodecells && !jupyter.webExtension && !notebookEditorFocused"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+down",
|
||||||
|
"command": "jupyter.gotoNextCellInFile"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+up",
|
||||||
|
"command": "jupyter.gotoPrevCellInFile"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+a a",
|
||||||
|
"command": "editor.action.selectAll"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+a",
|
||||||
|
"command": "-editor.action.selectAll"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+w",
|
||||||
|
"command": "-toggleSearchEditorWholeWord",
|
||||||
|
"when": "inSearchEditor && searchInputBoxFocus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+w",
|
||||||
|
"command": "-workbench.action.terminal.toggleFindWholeWord",
|
||||||
|
"when": "terminalFindVisible && terminalHasBeenCreated || terminalFindVisible && terminalProcessSupported"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+w",
|
||||||
|
"command": "-toggleFindWholeWord",
|
||||||
|
"when": "editorFocus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+w",
|
||||||
|
"command": "-toggleSearchWholeWord",
|
||||||
|
"when": "searchViewletFocus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+w",
|
||||||
|
"command": "editor.emmet.action.wrapWithAbbreviation",
|
||||||
|
"when": "editorFocus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+i",
|
||||||
|
"command": "-workbench.action.toggleDevTools",
|
||||||
|
"when": "isDevelopment"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+i",
|
||||||
|
"command": "-notebook.formatCell",
|
||||||
|
"when": "editorHasDocumentFormattingProvider && editorTextFocus && inCompositeEditor && notebookEditable && !editorReadonly && activeEditor == 'workbench.editor.notebook'"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+i",
|
||||||
|
"command": "-editor.action.formatDocument",
|
||||||
|
"when": "editorHasDocumentFormattingProvider && editorTextFocus && !editorReadonly && !inCompositeEditor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+i",
|
||||||
|
"command": "-editor.action.formatDocument.none",
|
||||||
|
"when": "editorTextFocus && !editorHasDocumentFormattingProvider && !editorReadonly"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+i",
|
||||||
|
"command": "-notebook.format",
|
||||||
|
"when": "notebookEditable && !editorTextFocus && activeEditor == 'workbench.editor.notebook'"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+[Comma] ctrl+shift+i",
|
||||||
|
"command": "-testing.toggleInlineCoverage"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+alt+i",
|
||||||
|
"command": "-workbench.action.chat.open",
|
||||||
|
"when": "chatPanelParticipantRegistered"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+i",
|
||||||
|
"command": "workbench.action.chat.openInEditor"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+k e",
|
||||||
|
"command": "-workbench.files.action.focusOpenEditorsView",
|
||||||
|
"when": "workbench.explorer.openEditorsView.active"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+e",
|
||||||
|
"command": "-workbench.action.quickOpen"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+e",
|
||||||
|
"command": "-thunder-client.change-env",
|
||||||
|
"when": "activeWebviewPanelId == 'tc.env-view' || activeWebviewPanelId == 'tc.request-view' || activeWebviewPanelId == 'tc.runcol-view'"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+e",
|
||||||
|
"command": "-editor.action.toggleScreenReaderAccessibilityMode",
|
||||||
|
"when": "accessibilityHelpIsShown"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+r",
|
||||||
|
"command": "renameFile",
|
||||||
|
"when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "f2",
|
||||||
|
"command": "-renameFile",
|
||||||
|
"when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+l",
|
||||||
|
"command": "-notebook.centerActiveCell",
|
||||||
|
"when": "notebookEditorFocused"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+h",
|
||||||
|
"command": "-workbench.action.replaceInFiles"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+h",
|
||||||
|
"command": "references-view.showCallHierarchy",
|
||||||
|
"when": "editorHasCallHierarchyProvider"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+c",
|
||||||
|
"command": "workbench.files.action.collapseExplorerFolders",
|
||||||
|
"when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !inputFocus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+p",
|
||||||
|
"command": "goto-folder.find-folder"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+alt+m",
|
||||||
|
"command": "-goto-folder.find-folder"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+p",
|
||||||
|
"command": "-togglePreserveCase",
|
||||||
|
"when": "editorFocus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+p",
|
||||||
|
"command": "-toggleSearchPreserveCase",
|
||||||
|
"when": "searchViewletFocus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+p",
|
||||||
|
"command": "-keybindings.editor.toggleSortByPrecedence",
|
||||||
|
"when": "inKeybindings"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+g",
|
||||||
|
"command": "-workbench.action.terminal.openDetectedLink",
|
||||||
|
"when": "accessibleViewIsShown && terminalHasBeenCreated && accessibleViewCurrentProviderId == 'terminal'"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+g",
|
||||||
|
"command": "-workbench.view.scm",
|
||||||
|
"when": "workbench.scm.active"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+alt+g",
|
||||||
|
"command": "-workbench.action.terminal.sendSequence",
|
||||||
|
"when": "terminalFocus"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+g",
|
||||||
|
"command": "-workbench.action.terminal.goToRecentDirectory",
|
||||||
|
"when": "terminalFocus && terminalHasBeenCreated || terminalFocus && terminalProcessSupported"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+g",
|
||||||
|
"command": "workbench.action.gotoLine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+g",
|
||||||
|
"command": "-workbench.action.gotoLine"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+space",
|
||||||
|
"command": "relative-goto.goto"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+g",
|
||||||
|
"command": "-relative-goto.goto"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+left",
|
||||||
|
"command": "workbench.action.navigateBack",
|
||||||
|
"when": "canNavigateBack"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+alt+-",
|
||||||
|
"command": "-workbench.action.navigateBack",
|
||||||
|
"when": "canNavigateBack"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "alt+right",
|
||||||
|
"command": "workbench.action.navigateForward",
|
||||||
|
"when": "canNavigateForward"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+shift+-",
|
||||||
|
"command": "-workbench.action.navigateForward",
|
||||||
|
"when": "canNavigateForward"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+i",
|
||||||
|
"command": "-workbench.action.chat.startVoiceChat",
|
||||||
|
"when": "chatIsEnabled && hasSpeechProvider && inChatInput && !editorFocus && !notebookEditorFocused && !scopedVoiceChatGettingReady && !speechToTextInProgress || chatIsEnabled && hasSpeechProvider && inlineChatFocused && !editorFocus && !notebookEditorFocused && !scopedVoiceChatGettingReady && !speechToTextInProgress"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+i",
|
||||||
|
"command": "-workbench.action.chat.stopListeningAndSubmit",
|
||||||
|
"when": "inChatInput && voiceChatInProgress && scopedVoiceChatInProgress == 'editor' || inChatInput && voiceChatInProgress && scopedVoiceChatInProgress == 'inline' || inChatInput && voiceChatInProgress && scopedVoiceChatInProgress == 'quick' || inChatInput && voiceChatInProgress && scopedVoiceChatInProgress == 'view' || inlineChatFocused && voiceChatInProgress && scopedVoiceChatInProgress == 'editor' || inlineChatFocused && voiceChatInProgress && scopedVoiceChatInProgress == 'inline' || inlineChatFocused && voiceChatInProgress && scopedVoiceChatInProgress == 'quick' || inlineChatFocused && voiceChatInProgress && scopedVoiceChatInProgress == 'view'"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "ctrl+i",
|
||||||
|
"command": "workbench.action.openChatToSide"
|
||||||
|
},
|
||||||
|
]
|
||||||
@@ -1,9 +1,6 @@
|
|||||||
{
|
{
|
||||||
//
|
"workbench.iconTheme": "Monokai Pro Light Icons",
|
||||||
// Appearance
|
"editor.fontFamily": "JetBrains Mono Semibold, Fira Code, Menlo, Monaco, 'Courier New', monospace",
|
||||||
"workbench.colorTheme": "Monokai Pro (Filter Octagon)",
|
|
||||||
"workbench.iconTheme": "Monokai Pro (Filter Octagon) Icons",
|
|
||||||
"editor.fontFamily": "Fira Code, Menlo, Monaco, 'Courier New', monospace",
|
|
||||||
"editor.fontSize": 18,
|
"editor.fontSize": 18,
|
||||||
"editor.fontWeight": "normal",
|
"editor.fontWeight": "normal",
|
||||||
"editor.fontLigatures": true,
|
"editor.fontLigatures": true,
|
||||||
@@ -11,6 +8,8 @@
|
|||||||
"editor.minimap.renderCharacters": false,
|
"editor.minimap.renderCharacters": false,
|
||||||
"editor.suggestSelection": "first",
|
"editor.suggestSelection": "first",
|
||||||
"vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
|
"vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
|
||||||
|
"window.titleBarStyle": "custom",
|
||||||
|
"workbench.sideBar.location": "right",
|
||||||
//
|
//
|
||||||
// Excluded files and directories
|
// Excluded files and directories
|
||||||
"files.exclude": {
|
"files.exclude": {
|
||||||
@@ -25,18 +24,17 @@
|
|||||||
"**/.ammonite": true
|
"**/.ammonite": true
|
||||||
},
|
},
|
||||||
//
|
//
|
||||||
|
// File associations with languages
|
||||||
|
"files.associations": {
|
||||||
|
"*.pgpass" : "yaml",
|
||||||
|
},
|
||||||
|
//
|
||||||
// Settings Sync
|
// Settings Sync
|
||||||
"settingsSync.ignoredSettings": [
|
"settingsSync.ignoredSettings": [
|
||||||
"sshfs.configs",
|
"sshfs.configs",
|
||||||
"editor.fontFamily"
|
"editor.fontFamily"
|
||||||
],
|
],
|
||||||
//
|
//
|
||||||
// Various settings
|
|
||||||
"explorer.confirmDragAndDrop": false,
|
|
||||||
"workbench.startupEditor": "none",
|
|
||||||
"security.workspace.trust.untrustedFiles": "open",
|
|
||||||
"emmet.showExpandedAbbreviation": "never",
|
|
||||||
//
|
|
||||||
// Remote SSH
|
// Remote SSH
|
||||||
"remote.SSH.remotePlatform": {
|
"remote.SSH.remotePlatform": {
|
||||||
"lab-pc07": "linux",
|
"lab-pc07": "linux",
|
||||||
@@ -53,6 +51,7 @@
|
|||||||
//
|
//
|
||||||
// Python
|
// Python
|
||||||
"python.languageServer": "Default",
|
"python.languageServer": "Default",
|
||||||
|
"python.createEnvironment.trigger": "off",
|
||||||
"[python]": {
|
"[python]": {
|
||||||
"editor.formatOnSave": true,
|
"editor.formatOnSave": true,
|
||||||
"editor.rulers": [
|
"editor.rulers": [
|
||||||
@@ -94,5 +93,45 @@
|
|||||||
"editor.tabSize": 2,
|
"editor.tabSize": 2,
|
||||||
"emmet.showAbbreviationSuggestions": false,
|
"emmet.showAbbreviationSuggestions": false,
|
||||||
"editor.linkedEditing": true,
|
"editor.linkedEditing": true,
|
||||||
|
"editor.codeActionsOnSave": {
|
||||||
|
// "source.organizeImports": "always"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
//
|
||||||
|
// Hex Editor
|
||||||
|
"hexeditor.columnWidth": 4,
|
||||||
|
"hexeditor.showDecodedText": true,
|
||||||
|
"hexeditor.defaultEndianness": "little",
|
||||||
|
"hexeditor.inspectorType": "aside",
|
||||||
|
//
|
||||||
|
// Typst
|
||||||
|
"typst-lsp.exportPdf": "onType",
|
||||||
|
///
|
||||||
|
// Various settings
|
||||||
|
"explorer.confirmDragAndDrop": false,
|
||||||
|
"workbench.startupEditor": "none",
|
||||||
|
"security.workspace.trust.untrustedFiles": "open",
|
||||||
|
"emmet.showExpandedAbbreviation": "never",
|
||||||
|
"git.openRepositoryInParentFolders": "never",
|
||||||
|
"editor.selectionClipboard": false,
|
||||||
|
"git.blame.editorDecoration.enabled": true,
|
||||||
|
"python.analysis.typeCheckingMode": "basic",
|
||||||
|
"workbench.editor.empty.hint": "hidden",
|
||||||
|
"python.defaultInterpreterPath": "",
|
||||||
|
"editor.lineNumbers": "relative",
|
||||||
|
"github.copilot.nextEditSuggestions.enabled": true,
|
||||||
|
"json.schemaDownload.trustedDomains": {
|
||||||
|
"https://developer.microsoft.com/json-schemas/": true,
|
||||||
|
"https://json-schema.org/": true,
|
||||||
|
"https://json.schemastore.org/": true,
|
||||||
|
"https://raw.githubusercontent.com/": true,
|
||||||
|
"https://raw.githubusercontent.com/devcontainers/spec/": true,
|
||||||
|
"https://raw.githubusercontent.com/microsoft/vscode/": true,
|
||||||
|
"https://schemastore.azurewebsites.net/": true,
|
||||||
|
"https://unpkg.com": true,
|
||||||
|
"https://vicinae.com/schemas/config.json": true,
|
||||||
|
"https://www.schemastore.org/": true
|
||||||
|
},
|
||||||
|
"workbench.colorTheme": "Monokai Pro Light",
|
||||||
|
"workbench.editor.editorActionsLocation": "hidden",
|
||||||
}
|
}
|
||||||
@@ -44,6 +44,6 @@
|
|||||||
"python shebang" : {
|
"python shebang" : {
|
||||||
"scope": "python",
|
"scope": "python",
|
||||||
"prefix": "sb",
|
"prefix": "sb",
|
||||||
"body": "#!/usr/bin/python3"
|
"body": "#!/usr/bin/env python3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
1
.config/_default.jsonc
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
vicinae/_default.jsonc
|
||||||
82
.config/alacritty/alacritty.toml
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
|
||||||
|
[colors]
|
||||||
|
draw_bold_text_with_bright_colors = false
|
||||||
|
|
||||||
|
[cursor.style]
|
||||||
|
shape = "Beam"
|
||||||
|
blinking = "On"
|
||||||
|
|
||||||
|
[font]
|
||||||
|
size = 15.0
|
||||||
|
|
||||||
|
[font.bold]
|
||||||
|
family = "JetBrains Mono"
|
||||||
|
style = "Medium"
|
||||||
|
|
||||||
|
[font.glyph_offset]
|
||||||
|
x = 0
|
||||||
|
y = 0
|
||||||
|
|
||||||
|
[font.italic]
|
||||||
|
family = "JetBrains Mono"
|
||||||
|
style = "Italic"
|
||||||
|
|
||||||
|
[font.normal]
|
||||||
|
family = "JetBrains Mono"
|
||||||
|
style = "Medium"
|
||||||
|
|
||||||
|
[font.offset]
|
||||||
|
x = 0
|
||||||
|
y = 0
|
||||||
|
|
||||||
|
[bell]
|
||||||
|
animation = "EaseOutExpo"
|
||||||
|
color = "0xffffff"
|
||||||
|
duration = 0
|
||||||
|
|
||||||
|
[debug]
|
||||||
|
log_level = "OFF"
|
||||||
|
persistent_logging = false
|
||||||
|
print_events = false
|
||||||
|
render_timer = false
|
||||||
|
|
||||||
|
[mouse]
|
||||||
|
bindings = [
|
||||||
|
{ action = "PasteSelection", mouse = "Middle" },
|
||||||
|
]
|
||||||
|
|
||||||
|
[keyboard]
|
||||||
|
bindings = [
|
||||||
|
{ key = "Back", mods = "Control", chars = "\u001b\u007f"},
|
||||||
|
{ key = "N", mods = "Control", action = "SpawnNewInstance" }
|
||||||
|
]
|
||||||
|
|
||||||
|
[scrolling]
|
||||||
|
history = 100000
|
||||||
|
multiplier = 3
|
||||||
|
|
||||||
|
[selection]
|
||||||
|
save_to_clipboard = false
|
||||||
|
semantic_escape_chars = ",│`|:\"' ()[]{}<>"
|
||||||
|
|
||||||
|
[window]
|
||||||
|
decorations = "full"
|
||||||
|
blur = false
|
||||||
|
dynamic_padding = false
|
||||||
|
opacity = 1
|
||||||
|
startup_mode = "windowed"
|
||||||
|
title = "Terminal"
|
||||||
|
dynamic_title = false
|
||||||
|
|
||||||
|
[window.dimensions]
|
||||||
|
columns = 85
|
||||||
|
lines = 40
|
||||||
|
|
||||||
|
[window.padding]
|
||||||
|
x = 5
|
||||||
|
y = 5
|
||||||
|
|
||||||
|
[general]
|
||||||
|
live_config_reload = true
|
||||||
|
# Set the theme by changing the link 'themes/current.toml'
|
||||||
|
import = ["~/.config/alacritty/themes/current.toml"]
|
||||||
44
.config/alacritty/icon.svg
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 128 128" style="display:inline;enable-background:new" version="1.0" id="svg11300" height="128" width="128">
|
||||||
|
|
||||||
|
|
||||||
|
<title id="title4162">Adwaita Icon Template</title>
|
||||||
|
<defs id="defs3">
|
||||||
|
<linearGradient id="linearGradient1948">
|
||||||
|
<stop id="stop1944" offset="0" style="stop-color:#2d2839;stop-opacity:1;"/>
|
||||||
|
<stop id="stop1946" offset="1" style="stop-color:#282433;stop-opacity:1"/>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient id="linearGradient1020">
|
||||||
|
<stop id="stop1016" offset="0" style="stop-color:#ffffff;stop-opacity:1;"/>
|
||||||
|
<stop id="stop1018" offset="1" style="stop-color:#ffffff;stop-opacity:0.09411765"/>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient id="linearGradient1001">
|
||||||
|
<stop id="stop989" offset="0" style="stop-color:#77767b;stop-opacity:1"/>
|
||||||
|
<stop style="stop-color:#c0bfbc;stop-opacity:1" offset="0.05" id="stop991"/>
|
||||||
|
<stop id="stop993" offset="0.09999998" style="stop-color:#9a9996;stop-opacity:1"/>
|
||||||
|
<stop style="stop-color:#9a9996;stop-opacity:1" offset="0.89999938" id="stop995"/>
|
||||||
|
<stop id="stop997" offset="0.94999999" style="stop-color:#c0bfbc;stop-opacity:1"/>
|
||||||
|
<stop id="stop999" offset="1" style="stop-color:#77767b;stop-opacity:1"/>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient gradientUnits="userSpaceOnUse" y2="44" x2="464" y1="44" x1="48" id="linearGradient965" xlink:href="#linearGradient1001"/>
|
||||||
|
<radialGradient gradientUnits="userSpaceOnUse" gradientTransform="matrix(-4.7272726,7.935912e-7,-3.0301491e-7,-1.6363636,238.54547,49.766183)" r="44" fy="194.19048" fx="63.999996" cy="194.19048" cx="63.999996" id="radialGradient1030" xlink:href="#linearGradient1020"/>
|
||||||
|
<linearGradient gradientUnits="userSpaceOnUse" y2="269.13693" x2="70.346565" y1="245.39511" x1="70.346565" id="linearGradient1950" xlink:href="#linearGradient1948"/>
|
||||||
|
</defs>
|
||||||
|
<metadata id="metadata4">
|
||||||
|
|
||||||
|
</metadata>
|
||||||
|
<g transform="translate(0,-172)" style="display:inline" id="layer1">
|
||||||
|
<g style="display:inline" id="layer9">
|
||||||
|
<g transform="rotate(-30,420.69873,288.4192)" id="g1710" style="display:inline;enable-background:new"/>
|
||||||
|
<rect transform="matrix(0.25,0,0,0.25,0,225)" style="display:inline;opacity:1;fill:url(#linearGradient965);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new" id="rect953" width="416" height="376" x="48" y="-124" rx="32" ry="32"/>
|
||||||
|
<rect ry="32" rx="32" y="-164" x="48" height="384" width="416" id="rect950" style="display:inline;opacity:1;fill:#deddda;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new" transform="matrix(0.25,0,0,0.25,0,225)"/>
|
||||||
|
<rect transform="scale(1,-1)" ry="3.9999695" rx="4" y="-276" x="16" height="87.999969" width="96" id="rect1004" style="display:inline;opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;stroke:none;stroke-width:0.01121096px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"/>
|
||||||
|
<rect transform="scale(-1)" style="display:inline;opacity:0.05;vector-effect:none;fill:url(#radialGradient1030);fill-opacity:1;stroke:none;stroke-width:0.01121096px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new" id="rect968" width="88" height="78" x="-108" y="-272"/>
|
||||||
|
<g id="g976" transform="translate(-2,-2)" style="fill:#ffffff">
|
||||||
|
<path d="M 44.012301,210.88755 30,203.27182 V 208 l 9.710724,4.62951 v 0.1422 L 30,218 v 4.72818 l 14.012301,-8.21451 z" style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:medium;line-height:1.25;font-family:'Source Code Pro';-inkscape-font-specification:'Source Code Pro, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.24999999" id="path972"/>
|
||||||
|
<path d="m 47.999998,226 2e-6,4 h 16.00001 l -2e-6,-4 z" style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:medium;line-height:1.25;font-family:'Source Code Pro';-inkscape-font-specification:'Source Code Pro, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.24999999" id="path974"/>
|
||||||
|
</g>
|
||||||
|
<path d="m 100,244 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m 84,4 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m 76,4 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m 84,4 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m 76,4 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m 84,4 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m 76,4 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z m -8,0 h 4 v 4 h -4 z" style="opacity:1;vector-effect:none;fill:url(#linearGradient1950);fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal" id="rect1059"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 7.4 KiB |
1
.config/alacritty/themes/current.toml
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
/home/paul/.config/alacritty/themes/light/default.toml
|
||||||
44
.config/alacritty/themes/dark/alacritty-0-12.toml
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
# Alacritty's default color scheme pre-0.13 (based on tomorrow_night)
|
||||||
|
# https://github.com/alacritty/alacritty/blob/v0.12.3/alacritty/src/config/color.rs
|
||||||
|
|
||||||
|
[colors.primary]
|
||||||
|
foreground = "#c5c8c6"
|
||||||
|
background = "#131414"
|
||||||
|
|
||||||
|
[colors.normal]
|
||||||
|
black = "#1d1f21"
|
||||||
|
red = "#cc6666"
|
||||||
|
green = "#b5bd68"
|
||||||
|
yellow = "#f0c674"
|
||||||
|
blue = "#81a2be"
|
||||||
|
magenta = "#b294bb"
|
||||||
|
cyan = "#8abeb7"
|
||||||
|
white = "#c5c8c6"
|
||||||
|
|
||||||
|
[colors.bright]
|
||||||
|
black = "#666666"
|
||||||
|
red = "#d54e53"
|
||||||
|
green = "#b9ca4a"
|
||||||
|
yellow = "#e7c547"
|
||||||
|
blue = "#7aa6da"
|
||||||
|
magenta = "#c397d8"
|
||||||
|
cyan = "#70c0b1"
|
||||||
|
white = "#eaeaea"
|
||||||
|
|
||||||
|
[colors.dim]
|
||||||
|
black = "#131415"
|
||||||
|
red = "#864343"
|
||||||
|
green = "#777c44"
|
||||||
|
yellow = "#9e824c"
|
||||||
|
blue = "#556a7d"
|
||||||
|
magenta = "#75617b"
|
||||||
|
cyan = "#5b7d78"
|
||||||
|
white = "#828482"
|
||||||
|
|
||||||
|
[colors.hints]
|
||||||
|
start = { foreground = "#1d1f21", background = "#e9ff5e" }
|
||||||
|
end = { foreground = "#e9ff5e", background = "#1d1f21" }
|
||||||
|
|
||||||
|
[colors.search]
|
||||||
|
matches = { foreground = "#000000", background = "#ffffff" }
|
||||||
|
focused_match = { foreground = "#ffffff", background = "#000000" }
|
||||||
1
.config/alacritty/themes/dark/default.toml
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
alacritty-0-12.toml
|
||||||
27
.config/alacritty/themes/dark/unknown.toml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
[colors.bright]
|
||||||
|
black = "#505050"
|
||||||
|
blue = "#547C99"
|
||||||
|
cyan = "#7DD6CF"
|
||||||
|
green = "#7B9246"
|
||||||
|
magenta = "#9F4E85"
|
||||||
|
red = "#A53C23"
|
||||||
|
white = "#F5F5F5"
|
||||||
|
yellow = "#D3A04D"
|
||||||
|
|
||||||
|
[colors.cursor]
|
||||||
|
cursor = "0x4d4d4c"
|
||||||
|
text = "0xffffff"
|
||||||
|
|
||||||
|
[colors.normal]
|
||||||
|
black = "#151515"
|
||||||
|
blue = "#6C99BB"
|
||||||
|
cyan = "#7DD6CF"
|
||||||
|
green = "#7B9246"
|
||||||
|
magenta = "#9F4E85"
|
||||||
|
red = "#A53C23"
|
||||||
|
white = "#D0D0D0"
|
||||||
|
yellow = "#D3A04D"
|
||||||
|
|
||||||
|
[colors.primary]
|
||||||
|
background = "#222222"
|
||||||
|
foreground = "#D0D0D0"
|
||||||
30
.config/alacritty/themes/light/alabaster.toml
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
# Colors (Alabaster)
|
||||||
|
# author tonsky
|
||||||
|
|
||||||
|
[colors.primary]
|
||||||
|
background = '#F7F7F7'
|
||||||
|
foreground = '#434343'
|
||||||
|
|
||||||
|
[colors.cursor]
|
||||||
|
text = '#F7F7F7'
|
||||||
|
cursor = '#434343'
|
||||||
|
|
||||||
|
[colors.normal]
|
||||||
|
black = '#000000'
|
||||||
|
red = '#AA3731'
|
||||||
|
green = '#448C27'
|
||||||
|
yellow = '#CB9000'
|
||||||
|
blue = '#325CC0'
|
||||||
|
magenta = '#7A3E9D'
|
||||||
|
cyan = '#0083B2'
|
||||||
|
white = '#BBBBBB'
|
||||||
|
|
||||||
|
[colors.bright]
|
||||||
|
black = '#777777'
|
||||||
|
red = '#F05050'
|
||||||
|
green = '#60CB00'
|
||||||
|
yellow = '#FFBC5D'
|
||||||
|
blue = '#007ACC'
|
||||||
|
magenta = '#E64CE6'
|
||||||
|
cyan = '#00AACB'
|
||||||
|
white = '#FFFFFF'
|
||||||
27
.config/alacritty/themes/light/ashes_light.toml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
[colors.primary]
|
||||||
|
background = '#f3f4f5'
|
||||||
|
foreground = '#565e65'
|
||||||
|
|
||||||
|
[colors.cursor]
|
||||||
|
text = '#f3f4f5'
|
||||||
|
cursor = '#565e65'
|
||||||
|
|
||||||
|
[colors.normal]
|
||||||
|
black = '#1c2023'
|
||||||
|
red = '#c7ae95'
|
||||||
|
green = '#95c7ae'
|
||||||
|
yellow = '#aec795'
|
||||||
|
blue = '#ae95c7'
|
||||||
|
magenta = '#c795ae'
|
||||||
|
cyan = '#95aec7'
|
||||||
|
white = '#c7ccd1'
|
||||||
|
|
||||||
|
[colors.bright]
|
||||||
|
black = '#747c84'
|
||||||
|
red = '#c7ae95'
|
||||||
|
green = '#95c7ae'
|
||||||
|
yellow = '#aec795'
|
||||||
|
blue = '#ae95c7'
|
||||||
|
magenta = '#c795ae'
|
||||||
|
cyan = '#95aec7'
|
||||||
|
white = '#f3f4f5'
|
||||||
75
.config/alacritty/themes/light/dawnfox.toml
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
# Nightfox Alacritty Colors
|
||||||
|
## name: dawnfox
|
||||||
|
## upstream: https://github.com/edeneast/nightfox.nvim/raw/main/extra/dawnfox/alacritty.toml
|
||||||
|
|
||||||
|
[colors.primary]
|
||||||
|
background = "#faf4ed"
|
||||||
|
foreground = "#575279"
|
||||||
|
dim_foreground = "#4c4769"
|
||||||
|
bright_foreground = "#625c87"
|
||||||
|
|
||||||
|
[colors.cursor]
|
||||||
|
text = "#575279"
|
||||||
|
cursor = "#625c87"
|
||||||
|
|
||||||
|
[colors.vi_mode_cursor]
|
||||||
|
text = "#575279"
|
||||||
|
cursor = "#56949f"
|
||||||
|
|
||||||
|
[colors.search.matches]
|
||||||
|
foreground = "#575279"
|
||||||
|
background = "#b8cece"
|
||||||
|
|
||||||
|
[colors.search.focused_match]
|
||||||
|
foreground = "#575279"
|
||||||
|
background = "#618774"
|
||||||
|
|
||||||
|
[colors.footer_bar]
|
||||||
|
foreground = "#575279"
|
||||||
|
background = "#ebdfe4"
|
||||||
|
|
||||||
|
[colors.hints.start]
|
||||||
|
foreground = "#575279"
|
||||||
|
background = "#d7827e"
|
||||||
|
|
||||||
|
[colors.hints.end]
|
||||||
|
foreground = "#575279"
|
||||||
|
background = "#ebdfe4"
|
||||||
|
|
||||||
|
[colors.selection]
|
||||||
|
text = "#575279"
|
||||||
|
background = "#d0d8d8"
|
||||||
|
|
||||||
|
[colors.normal]
|
||||||
|
black = "#575279"
|
||||||
|
red = "#b4637a"
|
||||||
|
green = "#618774"
|
||||||
|
yellow = "#ea9d34"
|
||||||
|
blue = "#286983"
|
||||||
|
magenta = "#907aa9"
|
||||||
|
cyan = "#56949f"
|
||||||
|
# white = "#e5e9f0" # Manually inverted from the original theme to match the light background
|
||||||
|
white = "#575279"
|
||||||
|
|
||||||
|
[colors.bright]
|
||||||
|
black = "#5f5695"
|
||||||
|
red = "#c26d85"
|
||||||
|
green = "#629f81"
|
||||||
|
yellow = "#eea846"
|
||||||
|
blue = "#2d81a3"
|
||||||
|
magenta = "#9a80b9"
|
||||||
|
cyan = "#5ca7b4"
|
||||||
|
# white = "#e6ebf3" # Manually inverted from the original theme to match the light background
|
||||||
|
white = "#5f5695"
|
||||||
|
|
||||||
|
|
||||||
|
[colors.dim]
|
||||||
|
black = "#504c6b"
|
||||||
|
red = "#a5576d"
|
||||||
|
green = "#597668"
|
||||||
|
yellow = "#dd9024"
|
||||||
|
blue = "#295e73"
|
||||||
|
magenta = "#816b9a"
|
||||||
|
cyan = "#50848c"
|
||||||
|
# white = "#c8cfde" # Manually inverted from the original theme to match the light background
|
||||||
|
white = "#504c6b"
|
||||||
1
.config/alacritty/themes/light/default.toml
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
dawnfox.toml
|
||||||
27
.config/alacritty/themes/light/google-light.toml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
[colors.bright]
|
||||||
|
black = "#666666"
|
||||||
|
blue = "#0000ff"
|
||||||
|
cyan = "#00e5e5"
|
||||||
|
green = "#00d900"
|
||||||
|
magenta = "#e500e5"
|
||||||
|
red = "#e50000"
|
||||||
|
white = "#e5e5e5"
|
||||||
|
yellow = "#e5e500"
|
||||||
|
|
||||||
|
[colors.cursor]
|
||||||
|
cursor = "0x4d4d4c"
|
||||||
|
text = "0xffffff"
|
||||||
|
|
||||||
|
[colors.normal]
|
||||||
|
black = "#000000"
|
||||||
|
blue = "#0000b2"
|
||||||
|
cyan = "#00a6b2"
|
||||||
|
green = "#00a600"
|
||||||
|
magenta = "#b200b2"
|
||||||
|
red = "#990000"
|
||||||
|
white = "#bfbfbf"
|
||||||
|
yellow = "#999900"
|
||||||
|
|
||||||
|
[colors.primary]
|
||||||
|
background = "#f0f0f0"
|
||||||
|
foreground = "#000000"
|
||||||
1
.config/appeareance.jsonc
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
vicinae/appeareance.jsonc
|
||||||
2
.config/code-flags.conf
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
# --enable-features=UseOzonePlatform
|
||||||
|
--ozone-platform=wayland
|
||||||
0
.config/config.toml
Normal file
3
.config/darkman/config.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
lat: 52.375893
|
||||||
|
lng: 9.732010
|
||||||
|
dbusserver: true
|
||||||
1
.config/dunst/default.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#fff" d="M18.75 9v.704c0 .845.24 1.671.692 2.374l1.108 1.723c1.011 1.574.239 3.713-1.52 4.21a25.8 25.8 0 0 1-14.06 0c-1.759-.497-2.531-2.636-1.52-4.21l1.108-1.723a4.4 4.4 0 0 0 .693-2.374V9c0-3.866 3.022-7 6.749-7s6.75 3.134 6.75 7" opacity="0.5"/><path fill="#fff" d="M7.243 18.545a5.002 5.002 0 0 0 9.513 0c-3.145.59-6.367.59-9.513 0"/></svg>
|
||||||
|
After Width: | Height: | Size: 439 B |
443
.config/dunst/dunstrc
Normal file
@@ -0,0 +1,443 @@
|
|||||||
|
# See dunst(5) for all configuration options
|
||||||
|
|
||||||
|
[global]
|
||||||
|
### Display ###
|
||||||
|
|
||||||
|
# Which monitor should the notifications be displayed on.
|
||||||
|
monitor = DP-1
|
||||||
|
|
||||||
|
# Display notification on focused monitor. Possible modes are:
|
||||||
|
# mouse: follow mouse pointer
|
||||||
|
# keyboard: follow window with keyboard focus
|
||||||
|
# none: don't follow anything
|
||||||
|
#
|
||||||
|
# "keyboard" needs a window manager that exports the
|
||||||
|
# _NET_ACTIVE_WINDOW property.
|
||||||
|
# This should be the case for almost all modern window managers.
|
||||||
|
#
|
||||||
|
# If this option is set to mouse or keyboard, the monitor option
|
||||||
|
# will be ignored.
|
||||||
|
# follow = mouse
|
||||||
|
|
||||||
|
### Geometry ###
|
||||||
|
|
||||||
|
# dynamic width from 0 to 300
|
||||||
|
# width = (0, 300)
|
||||||
|
# constant width of 300
|
||||||
|
width = (150, 500)
|
||||||
|
|
||||||
|
# The maximum height of a single notification, excluding the frame.
|
||||||
|
height = (50, 300)
|
||||||
|
|
||||||
|
# Position the notification in the top right corner
|
||||||
|
origin = top-center
|
||||||
|
|
||||||
|
# Offset from the origin
|
||||||
|
offset = (0, 28)
|
||||||
|
|
||||||
|
# Scale factor. It is auto-detected if value is 0.
|
||||||
|
scale = 0
|
||||||
|
|
||||||
|
# Maximum number of notification (0 means no limit)
|
||||||
|
notification_limit = 0
|
||||||
|
|
||||||
|
### Progress bar ###
|
||||||
|
|
||||||
|
# Turn on the progress bar. It appears when a progress hint is passed with
|
||||||
|
# for example dunstify -h int:value:12
|
||||||
|
progress_bar = true
|
||||||
|
|
||||||
|
# Set the progress bar height. This includes the frame, so make sure
|
||||||
|
# it's at least twice as big as the frame width.
|
||||||
|
progress_bar_height = 5
|
||||||
|
|
||||||
|
# Set the frame width of the progress bar
|
||||||
|
progress_bar_frame_width = 0
|
||||||
|
|
||||||
|
# Set the minimum width for the progress bar
|
||||||
|
progress_bar_min_width = 150
|
||||||
|
|
||||||
|
# Set the maximum width for the progress bar
|
||||||
|
progress_bar_max_width = 350
|
||||||
|
|
||||||
|
|
||||||
|
# Show how many messages are currently hidden (because of
|
||||||
|
# notification_limit).
|
||||||
|
indicate_hidden = yes
|
||||||
|
|
||||||
|
# The transparency of the window. Range: [0; 100].
|
||||||
|
# This option will only work if a compositing window manager is
|
||||||
|
# present (e.g. xcompmgr, compiz, etc.). (X11 only)
|
||||||
|
transparency = 0
|
||||||
|
|
||||||
|
# Draw a line of "separator_height" pixel height between two
|
||||||
|
# notifications.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
separator_height = 1
|
||||||
|
|
||||||
|
# Padding between text and separator.
|
||||||
|
padding = 10
|
||||||
|
|
||||||
|
# Horizontal padding.
|
||||||
|
horizontal_padding = 8
|
||||||
|
|
||||||
|
# Padding between text and icon.
|
||||||
|
text_icon_padding = 10
|
||||||
|
|
||||||
|
# Defines width in pixels of frame around the notification window.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
frame_width = 2
|
||||||
|
|
||||||
|
# Defines color of the frame around the notification window.
|
||||||
|
frame_color = "#727072"
|
||||||
|
|
||||||
|
# Define a color for the separator.
|
||||||
|
# possible values are:
|
||||||
|
# * auto: dunst tries to find a color fitting to the background;
|
||||||
|
# * foreground: use the same color as the foreground;
|
||||||
|
# * frame: use the same color as the frame;
|
||||||
|
# * anything else will be interpreted as a X color.
|
||||||
|
separator_color = "#44475a"
|
||||||
|
|
||||||
|
# Sort messages by urgency.
|
||||||
|
sort = yes
|
||||||
|
|
||||||
|
# Don't remove messages, if the user is idle (no mouse or keyboard input)
|
||||||
|
# for longer than idle_threshold seconds.
|
||||||
|
# Set to 0 to disable.
|
||||||
|
# A client can set the 'transient' hint to bypass this. See the rules
|
||||||
|
# section for how to disable this if necessary
|
||||||
|
idle_threshold = 120
|
||||||
|
|
||||||
|
### Text ###
|
||||||
|
|
||||||
|
font = Fira Sans 10
|
||||||
|
|
||||||
|
# The spacing between lines. If the height is smaller than the
|
||||||
|
# font height, it will get raised to the font height.
|
||||||
|
line_height = 0
|
||||||
|
|
||||||
|
# Possible values are:
|
||||||
|
# full: Allow a small subset of html markup in notifications:
|
||||||
|
# <b>bold</b>
|
||||||
|
# <i>italic</i>
|
||||||
|
# <s>strikethrough</s>
|
||||||
|
# <u>underline</u>
|
||||||
|
#
|
||||||
|
# For a complete reference see
|
||||||
|
# <https://docs.gtk.org/Pango/pango_markup.html>.
|
||||||
|
#
|
||||||
|
# strip: This setting is provided for compatibility with some broken
|
||||||
|
# clients that send markup even though it's not enabled on the
|
||||||
|
# server. Dunst will try to strip the markup but the parsing is
|
||||||
|
# simplistic so using this option outside of matching rules for
|
||||||
|
# specific applications *IS GREATLY DISCOURAGED*.
|
||||||
|
#
|
||||||
|
# no: Disable markup parsing, incoming notifications will be treated as
|
||||||
|
# plain text. Dunst will not advertise that it has the body-markup
|
||||||
|
# capability if this is set as a global setting.
|
||||||
|
#
|
||||||
|
# It's important to note that markup inside the format option will be parsed
|
||||||
|
# regardless of what this is set to.
|
||||||
|
markup = full
|
||||||
|
|
||||||
|
# The format of the message. Possible variables are:
|
||||||
|
# %a appname
|
||||||
|
# %s summary
|
||||||
|
# %b body
|
||||||
|
# %i iconname (including its path)
|
||||||
|
# %I iconname (without its path)
|
||||||
|
# %p progress value if set ([ 0%] to [100%]) or nothing
|
||||||
|
# %n progress value if set without any extra characters
|
||||||
|
# %% Literal %
|
||||||
|
# Markup is allowed
|
||||||
|
format = "<b>%s</b>\n%b"
|
||||||
|
|
||||||
|
# Alignment of message text.
|
||||||
|
# Possible values are "left", "center" and "right".
|
||||||
|
alignment = left
|
||||||
|
|
||||||
|
# Vertical alignment of message text and icon.
|
||||||
|
# Possible values are "top", "center" and "bottom".
|
||||||
|
vertical_alignment = center
|
||||||
|
|
||||||
|
# Show age of message if message is older than show_age_threshold
|
||||||
|
# seconds.
|
||||||
|
# Set to -1 to disable.
|
||||||
|
show_age_threshold = 60
|
||||||
|
|
||||||
|
# Specify where to make an ellipsis in long lines.
|
||||||
|
# Possible values are "start", "middle" and "end".
|
||||||
|
ellipsize = middle
|
||||||
|
|
||||||
|
# Ignore newlines '\n' in notifications.
|
||||||
|
ignore_newline = no
|
||||||
|
|
||||||
|
# Stack together notifications with the same content
|
||||||
|
stack_duplicates = true
|
||||||
|
|
||||||
|
# Hide the count of stacked notifications with the same content
|
||||||
|
hide_duplicate_count = true
|
||||||
|
|
||||||
|
# Display indicators for URLs (U) and actions (A).
|
||||||
|
show_indicators = no
|
||||||
|
|
||||||
|
### Icons ###
|
||||||
|
|
||||||
|
# Align icons left/right/off
|
||||||
|
icon_position = left
|
||||||
|
|
||||||
|
# Scale small icons up to this size, set to 0 to disable. Helpful
|
||||||
|
# for e.g. small files or high-dpi screens. In case of conflict,
|
||||||
|
# max_icon_size takes precedence over this.
|
||||||
|
min_icon_size = 0
|
||||||
|
|
||||||
|
# Scale larger icons down to this size, set to 0 to disable
|
||||||
|
max_icon_size = 50
|
||||||
|
|
||||||
|
# Paths to default icons.
|
||||||
|
icon_path = "/usr/share/icons/Adwaita/symbolic/actions:/home/paul/.config/dunst/icons"
|
||||||
|
# enable_recursive_icon_lookup = true
|
||||||
|
|
||||||
|
default_icon = "/home/paul/.config/dunst/default.svg"
|
||||||
|
|
||||||
|
### History ###
|
||||||
|
|
||||||
|
# Should a notification popped up from history be sticky or timeout
|
||||||
|
# as if it would normally do.
|
||||||
|
sticky_history = yes
|
||||||
|
|
||||||
|
# Maximum amount of notifications kept in history
|
||||||
|
history_length = 20
|
||||||
|
|
||||||
|
### Misc/Advanced ###
|
||||||
|
dmenu = /usr/bin/tofi
|
||||||
|
|
||||||
|
# Browser for opening urls in context menu.
|
||||||
|
browser = /usr/bin/xdg-open
|
||||||
|
|
||||||
|
# Always run rule-defined scripts, even if the notification is suppressed
|
||||||
|
always_run_script = true
|
||||||
|
|
||||||
|
# Define the title of the windows spawned by dunst
|
||||||
|
title = Dunst
|
||||||
|
|
||||||
|
# Define the class of the windows spawned by dunst
|
||||||
|
class = Dunst
|
||||||
|
|
||||||
|
# Define the corner radius of the notification window
|
||||||
|
# in pixel size. If the radius is 0, you have no rounded
|
||||||
|
# corners.
|
||||||
|
# The radius will be automatically lowered if it exceeds half of the
|
||||||
|
# notification height to avoid clipping text and/or icons.
|
||||||
|
corner_radius = 10
|
||||||
|
|
||||||
|
# Ignore the dbus closeNotification message.
|
||||||
|
# Useful to enforce the timeout set by dunst configuration. Without this
|
||||||
|
# parameter, an application may close the notification sent before the
|
||||||
|
# user defined timeout.
|
||||||
|
ignore_dbusclose = false
|
||||||
|
|
||||||
|
### Wayland ###
|
||||||
|
# These settings are Wayland-specific. They have no effect when using X11
|
||||||
|
|
||||||
|
# Uncomment this if you want to let notications appear under fullscreen
|
||||||
|
# applications (default: overlay)
|
||||||
|
# layer = top
|
||||||
|
|
||||||
|
# Set this to true to use X11 output on Wayland.
|
||||||
|
force_xwayland = false
|
||||||
|
|
||||||
|
### Legacy
|
||||||
|
|
||||||
|
# Use the Xinerama extension instead of RandR for multi-monitor support.
|
||||||
|
# This setting is provided for compatibility with older nVidia drivers that
|
||||||
|
# do not support RandR and using it on systems that support RandR is highly
|
||||||
|
# discouraged.
|
||||||
|
#
|
||||||
|
# By enabling this setting dunst will not be able to detect when a monitor
|
||||||
|
# is connected or disconnected which might break follow mode if the screen
|
||||||
|
# layout changes.
|
||||||
|
force_xinerama = false
|
||||||
|
|
||||||
|
### mouse
|
||||||
|
|
||||||
|
# Defines list of actions for each mouse event
|
||||||
|
# Possible values are:
|
||||||
|
# * none: Don't do anything.
|
||||||
|
# * do_action: Invoke the action determined by the action_name rule. If there is no
|
||||||
|
# such action, open the context menu.
|
||||||
|
# * open_url: If the notification has exactly one url, open it. If there are multiple
|
||||||
|
# ones, open the context menu.
|
||||||
|
# * close_current: Close current notification.
|
||||||
|
# * close_all: Close all notifications.
|
||||||
|
# * context: Open context menu for the notification.
|
||||||
|
# * context_all: Open context menu for all notifications.
|
||||||
|
# These values can be strung together for each mouse event, and
|
||||||
|
# will be executed in sequence.
|
||||||
|
mouse_left_click = do_action
|
||||||
|
mouse_middle_click = do_action, close_current
|
||||||
|
mouse_right_click = close_all
|
||||||
|
|
||||||
|
# Experimental features that may or may not work correctly. Do not expect them
|
||||||
|
# to have a consistent behaviour across releases.
|
||||||
|
[experimental]
|
||||||
|
# Calculate the dpi to use on a per-monitor basis.
|
||||||
|
# If this setting is enabled the Xft.dpi value will be ignored and instead
|
||||||
|
# dunst will attempt to calculate an appropriate dpi value for each monitor
|
||||||
|
# using the resolution and physical size. This might be useful in setups
|
||||||
|
# where there are multiple screens with very different dpi values.
|
||||||
|
per_monitor_dpi = false
|
||||||
|
|
||||||
|
|
||||||
|
[urgency_low]
|
||||||
|
background = "#2D2A2E"
|
||||||
|
foreground = "#f8f8f2"
|
||||||
|
frame_color = "#727072"
|
||||||
|
timeout = 5
|
||||||
|
# Icon for notifications with low urgency, uncomment to enable
|
||||||
|
#default_icon = /path/to/icon
|
||||||
|
|
||||||
|
[urgency_normal]
|
||||||
|
background = "#2D2A2E"
|
||||||
|
foreground = "#f8f8f2"
|
||||||
|
frame_color = "#727072"
|
||||||
|
timeout = 10
|
||||||
|
# Icon for notifications with normal urgency, uncomment to enable
|
||||||
|
#default_icon = /path/to/icon
|
||||||
|
|
||||||
|
[urgency_critical]
|
||||||
|
background = "#2D2A2E"
|
||||||
|
foreground = "#f8f8f2"
|
||||||
|
frame_color = "#ff5555"
|
||||||
|
timeout = 0
|
||||||
|
# Icon for notifications with critical urgency, uncomment to enable
|
||||||
|
#default_icon = /path/to/icon
|
||||||
|
|
||||||
|
[spotify]
|
||||||
|
appname = "Spotify"
|
||||||
|
frame_color = "#1ED760"
|
||||||
|
format = "Now Playing\n<b>%s</b>\n%b"
|
||||||
|
|
||||||
|
|
||||||
|
# Every section that isn't one of the above is interpreted as a rules to
|
||||||
|
# override settings for certain messages.
|
||||||
|
#
|
||||||
|
# Messages can be matched by
|
||||||
|
# appname (discouraged, see desktop_entry)
|
||||||
|
# body
|
||||||
|
# category
|
||||||
|
# desktop_entry
|
||||||
|
# icon
|
||||||
|
# match_transient
|
||||||
|
# msg_urgency
|
||||||
|
# stack_tag
|
||||||
|
# summary
|
||||||
|
#
|
||||||
|
# and you can override the
|
||||||
|
# background
|
||||||
|
# foreground
|
||||||
|
# format
|
||||||
|
# frame_color
|
||||||
|
# fullscreen
|
||||||
|
# new_icon
|
||||||
|
# set_stack_tag
|
||||||
|
# set_transient
|
||||||
|
# set_category
|
||||||
|
# timeout
|
||||||
|
# urgency
|
||||||
|
# skip_display
|
||||||
|
# history_ignore
|
||||||
|
# action_name
|
||||||
|
# word_wrap
|
||||||
|
# ellipsize
|
||||||
|
# alignment
|
||||||
|
#
|
||||||
|
# Shell-like globbing will get expanded.
|
||||||
|
#
|
||||||
|
# Instead of the appname filter, it's recommended to use the desktop_entry filter.
|
||||||
|
# GLib based applications export their desktop-entry name. In comparison to the appname,
|
||||||
|
# the desktop-entry won't get localized.
|
||||||
|
#
|
||||||
|
# SCRIPTING
|
||||||
|
# You can specify a script that gets run when the rule matches by
|
||||||
|
# setting the "script" option.
|
||||||
|
# The script will be called as follows:
|
||||||
|
# script appname summary body icon urgency
|
||||||
|
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
|
||||||
|
#
|
||||||
|
# NOTE: It might be helpful to run dunst -print in a terminal in order
|
||||||
|
# to find fitting options for rules.
|
||||||
|
|
||||||
|
# Disable the transient hint so that idle_threshold cannot be bypassed from the
|
||||||
|
# client
|
||||||
|
#[transient_disable]
|
||||||
|
# match_transient = yes
|
||||||
|
# set_transient = no
|
||||||
|
#
|
||||||
|
# Make the handling of transient notifications more strict by making them not
|
||||||
|
# be placed in history.
|
||||||
|
#[transient_history_ignore]
|
||||||
|
# match_transient = yes
|
||||||
|
# history_ignore = yes
|
||||||
|
|
||||||
|
# fullscreen values
|
||||||
|
# show: show the notifications, regardless if there is a fullscreen window opened
|
||||||
|
# delay: displays the new notification, if there is no fullscreen window active
|
||||||
|
# If the notification is already drawn, it won't get undrawn.
|
||||||
|
# pushback: same as delay, but when switching into fullscreen, the notification will get
|
||||||
|
# withdrawn from screen again and will get delayed like a new notification
|
||||||
|
#[fullscreen_delay_everything]
|
||||||
|
# fullscreen = delay
|
||||||
|
#[fullscreen_show_critical]
|
||||||
|
# msg_urgency = critical
|
||||||
|
# fullscreen = show
|
||||||
|
|
||||||
|
#[espeak]
|
||||||
|
# summary = "*"
|
||||||
|
# script = dunst_espeak.sh
|
||||||
|
|
||||||
|
#[script-test]
|
||||||
|
# summary = "*script*"
|
||||||
|
# script = dunst_test.sh
|
||||||
|
|
||||||
|
#[ignore]
|
||||||
|
# # This notification will not be displayed
|
||||||
|
# summary = "foobar"
|
||||||
|
# skip_display = true
|
||||||
|
|
||||||
|
#[history-ignore]
|
||||||
|
# # This notification will not be saved in history
|
||||||
|
# summary = "foobar"
|
||||||
|
# history_ignore = yes
|
||||||
|
|
||||||
|
#[skip-display]
|
||||||
|
# # This notification will not be displayed, but will be included in the history
|
||||||
|
# summary = "foobar"
|
||||||
|
# skip_display = yes
|
||||||
|
|
||||||
|
#[signed_on]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = "*signed on*"
|
||||||
|
# urgency = low
|
||||||
|
#
|
||||||
|
#[signed_off]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = *signed off*
|
||||||
|
# urgency = low
|
||||||
|
#
|
||||||
|
#[says]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = *says*
|
||||||
|
# urgency = critical
|
||||||
|
#
|
||||||
|
#[twitter]
|
||||||
|
# appname = Pidgin
|
||||||
|
# summary = *twitter.com*
|
||||||
|
# urgency = normal
|
||||||
|
#
|
||||||
|
#[stack-volumes]
|
||||||
|
# appname = "some_volume_notifiers"
|
||||||
|
# set_stack_tag = "volume"
|
||||||
|
#
|
||||||
|
# vim: ft=cfg
|
||||||
1
.config/dunst/icons/homeassistant.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#fff" d="M22.939 10.627L13.061.749a1.505 1.505 0 0 0-2.121 0l-9.879 9.878C.478 11.21 0 12.363 0 13.187v9c0 .826.675 1.5 1.5 1.5h9.227l-4.063-4.062a2 2 0 0 1-.664.113c-1.13 0-2.05-.92-2.05-2.05s.92-2.05 2.05-2.05s2.05.92 2.05 2.05c0 .233-.041.456-.113.665l3.163 3.163V9.928a2.05 2.05 0 0 1-1.15-1.84c0-1.13.92-2.05 2.05-2.05s2.05.92 2.05 2.05a2.05 2.05 0 0 1-1.15 1.84v8.127l3.146-3.146A2.05 2.05 0 0 1 18 12.239c1.13 0 2.05.92 2.05 2.05s-.92 2.05-2.05 2.05a2 2 0 0 1-.709-.13L12.9 20.602v3.088h9.6c.825 0 1.5-.675 1.5-1.5v-9c0-.825-.477-1.977-1.061-2.561z"/></svg>
|
||||||
|
After Width: | Height: | Size: 659 B |
2
.config/electron-flags.conf
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
--enable-features=UseOzonePlatform
|
||||||
|
--ozone-platform=wayland
|
||||||
20
.config/fontconfig/conf.d/20-no-embedded.conf
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
|
||||||
|
<fontconfig>
|
||||||
|
<match target="font">
|
||||||
|
<test qual="any" name="family">
|
||||||
|
<string>Calibri</string>
|
||||||
|
</test>
|
||||||
|
<edit name="embeddedbitmap">
|
||||||
|
<bool>false</bool>
|
||||||
|
</edit>
|
||||||
|
</match>
|
||||||
|
<match target="font">
|
||||||
|
<test qual="any" name="family">
|
||||||
|
<string>Aptos</string>
|
||||||
|
</test>
|
||||||
|
<edit name="embeddedbitmap">
|
||||||
|
<bool>false</bool>
|
||||||
|
</edit>
|
||||||
|
</match>
|
||||||
|
</fontconfig>
|
||||||
193
.config/gSnap/layouts.json
Normal file
@@ -0,0 +1,193 @@
|
|||||||
|
{
|
||||||
|
"workspaces": [
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"current": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"current": 3
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"current": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"current": 3
|
||||||
|
}
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"definitions": [
|
||||||
|
{
|
||||||
|
"name": "None",
|
||||||
|
"type": 0,
|
||||||
|
"length": 100,
|
||||||
|
"items": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Default Monitor 0",
|
||||||
|
"type": 0,
|
||||||
|
"length": 100,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"length": 33.358974358974365,
|
||||||
|
"items": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"length": 66.64102564102564,
|
||||||
|
"items": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name" : "Default Monitor 1",
|
||||||
|
"type" : 1,
|
||||||
|
"length": 100,
|
||||||
|
"items" : [
|
||||||
|
{
|
||||||
|
"length": 38
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"length" : 62
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "2 Column Split",
|
||||||
|
"type": 0,
|
||||||
|
"length": 100,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"type": 1,
|
||||||
|
"length": 50,
|
||||||
|
"items": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 1,
|
||||||
|
"length": 50,
|
||||||
|
"items": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "3 Column",
|
||||||
|
"type": 0,
|
||||||
|
"length": 100,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"type": 1,
|
||||||
|
"length": 33,
|
||||||
|
"items": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 1,
|
||||||
|
"length": 34,
|
||||||
|
"items": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 1,
|
||||||
|
"length": 33,
|
||||||
|
"items": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "3 Column (Focused)",
|
||||||
|
"type": 0,
|
||||||
|
"length": 100,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"type": 1,
|
||||||
|
"length": 25,
|
||||||
|
"items": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 1,
|
||||||
|
"length": 50,
|
||||||
|
"items": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 1,
|
||||||
|
"length": 25,
|
||||||
|
"items": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "3 Columns (Custom)",
|
||||||
|
"type": 0,
|
||||||
|
"length": 100,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"type": 1,
|
||||||
|
"length": 42,
|
||||||
|
"items": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 1,
|
||||||
|
"length": 16,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"length": 33,
|
||||||
|
"items": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"length": 34,
|
||||||
|
"items": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 0,
|
||||||
|
"length": 33,
|
||||||
|
"items": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": 1,
|
||||||
|
"length": 42,
|
||||||
|
"items": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name" : "1920x1080 Centered",
|
||||||
|
"type" : 0,
|
||||||
|
"length" : 100,
|
||||||
|
"items" : [
|
||||||
|
{
|
||||||
|
"type" : 0,
|
||||||
|
"length" : 21.9,
|
||||||
|
"items" : []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type" : 1,
|
||||||
|
"length" : 56.2,
|
||||||
|
"items" : [
|
||||||
|
{
|
||||||
|
"type" : 1,
|
||||||
|
"length" : 9.8,
|
||||||
|
"items" : []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type" : 1,
|
||||||
|
"length" : 80.4,
|
||||||
|
"items" : []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type" : 1,
|
||||||
|
"length" : 9.8,
|
||||||
|
"items" : []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type" : 0,
|
||||||
|
"length" : 21.9,
|
||||||
|
"items" : []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
2
.config/gdb/gdbinit
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
add-auto-load-safe-path /home/paul/code/ma/repo/scripts/gdb/vmlinux-gdb.py
|
||||||
|
add-auto-load-safe-path /home/paul/code/ma/morsel-linux-kernel/scripts/gdb/vmlinux-gdb.py
|
||||||
1
.config/general.jsonc
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
vicinae/general.jsonc
|
||||||
18
.config/helix/config.toml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
theme = "base16_transparent"
|
||||||
|
|
||||||
|
[editor]
|
||||||
|
line-number = "relative"
|
||||||
|
end-of-line-diagnostics="error"
|
||||||
|
completion-replace = true
|
||||||
|
|
||||||
|
[editor.file-picker]
|
||||||
|
hidden = false
|
||||||
|
|
||||||
|
[editor.statusline]
|
||||||
|
left = ["mode", "spinner", "read-only-indicator", ]
|
||||||
|
center = ["file-name", "file-modification-indicator", "spacer", "version-control"]
|
||||||
|
right = ["diagnostics", "selections", "position", "file-encoding", "file-line-ending", "file-type"]
|
||||||
|
separator = "|"
|
||||||
|
|
||||||
|
[editor.soft-wrap]
|
||||||
|
enable = true
|
||||||
510
.config/hypr/hyprland.conf
Normal file
@@ -0,0 +1,510 @@
|
|||||||
|
|
||||||
|
# This is an example Hyprland config file.
|
||||||
|
# Refer to the wiki for more information.
|
||||||
|
# https://wiki.hyprland.org/Configuring/Configuring-Hyprland/
|
||||||
|
|
||||||
|
# Please note not all available settings / options are set here.
|
||||||
|
# For a full list, see the wiki
|
||||||
|
|
||||||
|
# You can split this configuration into multiple files
|
||||||
|
# Create your files separately and then link them to this file like this:
|
||||||
|
# source = ~/.config/hypr/myColors.conf
|
||||||
|
|
||||||
|
|
||||||
|
################
|
||||||
|
### MONITORS ###
|
||||||
|
################
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||||
|
monitor=DP-1,3440x1440@144,auto,auto
|
||||||
|
monitor=DP-2,1920x1080,-1080x-550,1,transform,1
|
||||||
|
monitor=HDMI-A-1,3440x1440@144,auto,auto
|
||||||
|
|
||||||
|
|
||||||
|
###################
|
||||||
|
### MY PROGRAMS ###
|
||||||
|
###################
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||||
|
|
||||||
|
# Set programs that you use
|
||||||
|
$terminal = alacritty
|
||||||
|
$fileManager = nautilus --new-window
|
||||||
|
$browser = firefox
|
||||||
|
$launcher = vicinae toggle
|
||||||
|
# $launcher = tofi-drun | xargs hyprctl dispatch exec --
|
||||||
|
|
||||||
|
|
||||||
|
#################
|
||||||
|
### AUTOSTART ###
|
||||||
|
#################
|
||||||
|
|
||||||
|
# Autostart necessary processes (like notifications daemons, status bars, etc.)
|
||||||
|
# Or execute your favorite apps at launch like this:
|
||||||
|
|
||||||
|
exec-once = hyprpaper
|
||||||
|
exec-once = hypridle
|
||||||
|
exec-once = systemctl --user start hyprpolkitagent
|
||||||
|
exec-once = dunst
|
||||||
|
# exec-once = wl-paste --type text --watch cliphist store # Stores only text data
|
||||||
|
exec-once = waybar
|
||||||
|
exec-once = darkman run
|
||||||
|
exec-once = vicinae server
|
||||||
|
exec-once = udiskie
|
||||||
|
exec-once = swayosd-server
|
||||||
|
|
||||||
|
# Open programs on special workspaces
|
||||||
|
exec-once = [ workspace special:term silent] $terminal
|
||||||
|
exec-once = [ workspace special:browser silent] $browser "ext+container:name=Meta&url=https://web.whatsapp.com" "ext+container:name=Wasteside&url=https://mail.google.com"
|
||||||
|
exec-once = [ workspace special:browser silent] gnome-calendar
|
||||||
|
exec-once = [ workspace special:music silent] $terminal -e spotify_player
|
||||||
|
exec-once = [ workspace special:music silent] $terminal -e wiremix
|
||||||
|
exec-once = [ workspace special:todo silent] clickup
|
||||||
|
exec-once = [ workspace special:files silent] $fileManager
|
||||||
|
exec-once = [ workspace special:files silent] localsend
|
||||||
|
|
||||||
|
# Script to make bitwarden firefox extension windows launch in floating mode
|
||||||
|
exec-once = ~/.config/hypr/scripts/float-bitwarden.sh
|
||||||
|
|
||||||
|
# Makes sure ratbag is running
|
||||||
|
exec-once = ratbagctl list
|
||||||
|
|
||||||
|
# Custom scripts
|
||||||
|
exec-once = ~/code/ha-notifications/ha-notifications
|
||||||
|
|
||||||
|
# Plugins
|
||||||
|
exec-once = hyprpm reload
|
||||||
|
|
||||||
|
#############################
|
||||||
|
### ENVIRONMENT VARIABLES ###
|
||||||
|
#############################
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Environment-variables/
|
||||||
|
|
||||||
|
env = XCURSOR_SIZE,24
|
||||||
|
env = HYPRCURSOR_SIZE,24
|
||||||
|
env = XDG_SESSION_TYPE,wayland
|
||||||
|
env = HYPRSHOT_DIR,/home/paul/screenshots
|
||||||
|
|
||||||
|
cursor {
|
||||||
|
no_hardware_cursors = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#####################
|
||||||
|
### LOOK AND FEEL ###
|
||||||
|
#####################
|
||||||
|
|
||||||
|
# Refer to https://wiki.hyprland.org/Configuring/Variables/
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#general
|
||||||
|
general {
|
||||||
|
gaps_in = 5
|
||||||
|
gaps_out = 10,20,20,20
|
||||||
|
|
||||||
|
border_size = 2
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
|
||||||
|
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||||
|
col.inactive_border = rgba(595959aa)
|
||||||
|
|
||||||
|
# Set to true enable resizing windows by clicking and dragging on borders and gaps
|
||||||
|
resize_on_border = false
|
||||||
|
|
||||||
|
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
||||||
|
allow_tearing = false
|
||||||
|
|
||||||
|
# Use dwindle per default, changed on a per-workspace basis in the workspace rules below
|
||||||
|
layout = dwindle
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#decoration
|
||||||
|
decoration {
|
||||||
|
rounding = 10
|
||||||
|
|
||||||
|
# Change transparency of focused and unfocused windows
|
||||||
|
active_opacity = 1.0
|
||||||
|
inactive_opacity = 1.0
|
||||||
|
|
||||||
|
dim_special = 0.7
|
||||||
|
|
||||||
|
# Deprecated v0.45 ?
|
||||||
|
# drop_shadow = true
|
||||||
|
# shadow_range = 4
|
||||||
|
# shadow_render_power = 3
|
||||||
|
# col.shadow = rgba(1a1a1aee)
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#blur
|
||||||
|
blur {
|
||||||
|
enabled = true
|
||||||
|
size = 3
|
||||||
|
passes = 1
|
||||||
|
|
||||||
|
vibrancy = 0.1696
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#animations
|
||||||
|
animations {
|
||||||
|
enabled = true
|
||||||
|
|
||||||
|
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||||
|
|
||||||
|
bezier = bz, 0.05, 0.9, 0.1, 1.05
|
||||||
|
|
||||||
|
animation = windows, 1, 4, bz
|
||||||
|
animation = windowsOut, 1, 4, default, popin 80%
|
||||||
|
animation = border, 1, 10, default
|
||||||
|
animation = borderangle, 1, 8, default
|
||||||
|
animation = fade, 1, 7, default
|
||||||
|
animation = workspaces, 1, 3, default
|
||||||
|
|
||||||
|
animation = specialWorkspace, 1, 2, default, fade
|
||||||
|
}
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||||
|
dwindle {
|
||||||
|
pseudotile = true # Master switch for pseudotiling.
|
||||||
|
preserve_split = true # You probably want this
|
||||||
|
|
||||||
|
smart_split = false # No splitting based on cursor position
|
||||||
|
force_split = 2 # Always split to right
|
||||||
|
}
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||||
|
master {
|
||||||
|
new_status = slave # New windows are slaves by default
|
||||||
|
|
||||||
|
mfact = 0.7
|
||||||
|
orientation = right
|
||||||
|
}
|
||||||
|
|
||||||
|
layout {
|
||||||
|
# single_window_aspect_ratio = 16 9
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#misc
|
||||||
|
misc {
|
||||||
|
force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
|
||||||
|
disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
|
||||||
|
|
||||||
|
close_special_on_empty = false
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#############
|
||||||
|
### INPUT ###
|
||||||
|
#############
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#input
|
||||||
|
input {
|
||||||
|
kb_layout = de
|
||||||
|
kb_variant =
|
||||||
|
kb_model =
|
||||||
|
kb_options =
|
||||||
|
kb_rules =
|
||||||
|
numlock_by_default = true
|
||||||
|
|
||||||
|
follow_mouse = 2
|
||||||
|
|
||||||
|
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||||
|
}
|
||||||
|
|
||||||
|
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
||||||
|
gestures {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
# Example per-device config
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
||||||
|
device {
|
||||||
|
name = epic-mouse-v1
|
||||||
|
sensitivity = -0.5
|
||||||
|
}
|
||||||
|
|
||||||
|
binds {
|
||||||
|
hide_special_on_workspace_change = true
|
||||||
|
}
|
||||||
|
|
||||||
|
# cursor {
|
||||||
|
# no_warps = true
|
||||||
|
# }
|
||||||
|
|
||||||
|
|
||||||
|
###################
|
||||||
|
### KEYBINDINGS ###
|
||||||
|
###################
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||||
|
$mainMod = SUPER # Sets "Windows" key as main modifier
|
||||||
|
|
||||||
|
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||||
|
bind = $mainMod, T, exec, $terminal
|
||||||
|
bind = $mainMod, B, exec, $browser
|
||||||
|
bind = $mainMod, Return, exec, $launcher
|
||||||
|
bind = $mainMod, Space, exec, $launcher
|
||||||
|
bind = $mainMod, Q, killactive
|
||||||
|
bind = $mainMod, F, fullscreen
|
||||||
|
bind = $mainMod, M, splitratio, exact 0.6
|
||||||
|
bind = $mainMod, mouse_down, splitratio, 0.1
|
||||||
|
bind = $mainMod, mouse_up, splitratio, -0.1
|
||||||
|
bind = $mainMod, E, exec, $fileManager
|
||||||
|
# bind = $mainMod, V, exec, cliphist list | tofi | cliphist decode | wl-copy
|
||||||
|
bind = $mainMod, V, exec, vicinae vicinae://extensions/vicinae/clipboard/history
|
||||||
|
bind = $mainMod, X, togglefloating
|
||||||
|
bind = $mainMod, P, pin, active
|
||||||
|
bind = $mainMod, J, layoutmsg, togglesplit # dwindle
|
||||||
|
bind = $mainMod SHIFT, S, exec, hyprshot -m region
|
||||||
|
bind = $mainMod, PRINT, exec, hyprshot -m window
|
||||||
|
bind = $mainMod SHIFT, B, exec, pkill waybar & hyprctl dispatch exec waybar
|
||||||
|
bind = $mainMod SHIFT, C, exec, hyprpicker | wl-copy
|
||||||
|
bind = $mainMod, TAB, hyprtasking:toggle, cursor
|
||||||
|
bind = $mainMod, END, exec, wlogout -b 6 -L 1100 -R 1100 -T 650 -B 650
|
||||||
|
|
||||||
|
|
||||||
|
# Move focus with mainMod + arrow keys
|
||||||
|
bind = $mainMod, left, movefocus, l
|
||||||
|
bind = $mainMod, right, movefocus, r
|
||||||
|
bind = $mainMod, up, movefocus, u
|
||||||
|
bind = $mainMod, down, movefocus, d
|
||||||
|
|
||||||
|
# Move windows with mainMod + SHIFT + arrow keys
|
||||||
|
bind = $mainMod SHIFT, left, movewindow, l
|
||||||
|
bind = $mainMod SHIFT, right, movewindow, r
|
||||||
|
bind = $mainMod SHIFT, up, movewindow, u
|
||||||
|
bind = $mainMod SHIFT, down, movewindow, d
|
||||||
|
|
||||||
|
# Switch workspaces of primary monitor with mainMod + [1-7]
|
||||||
|
bind = $mainMod, 1, workspace, 1
|
||||||
|
bind = $mainMod, 2, workspace, 2
|
||||||
|
bind = $mainMod, 3, workspace, 3
|
||||||
|
bind = $mainMod, 4, workspace, 4
|
||||||
|
bind = $mainMod, 5, workspace, 5
|
||||||
|
bind = $mainMod, 6, workspace, 6
|
||||||
|
bind = $mainMod, 7, workspace, 7
|
||||||
|
bind = $mainMod, 8, workspace, 8
|
||||||
|
|
||||||
|
# Switch workspaces of secondary monitor with mainMod + [F1-7]
|
||||||
|
bind = $mainMod, F1, workspace, 11
|
||||||
|
bind = $mainMod, F2, workspace, 12
|
||||||
|
bind = $mainMod, F3, workspace, 13
|
||||||
|
bind = $mainMod, F4, workspace, 14
|
||||||
|
bind = $mainMod, F5, workspace, 15
|
||||||
|
bind = $mainMod, F6, workspace, 16
|
||||||
|
bind = $mainMod, F7, workspace, 17
|
||||||
|
|
||||||
|
# Move active window to a workspace with mainMod + SHIFT + [1-7] (primary monitor)
|
||||||
|
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||||
|
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||||
|
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||||
|
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||||
|
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||||
|
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||||
|
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||||
|
|
||||||
|
# Move active window to a workspace with mainMod + SHIFT + [F1-F7] (secondary monitor)
|
||||||
|
bind = $mainMod SHIFT, F1, movetoworkspace, 11
|
||||||
|
bind = $mainMod SHIFT, F2, movetoworkspace, 12
|
||||||
|
bind = $mainMod SHIFT, F3, movetoworkspace, 13
|
||||||
|
bind = $mainMod SHIFT, F4, movetoworkspace, 14
|
||||||
|
bind = $mainMod SHIFT, F5, movetoworkspace, 15
|
||||||
|
bind = $mainMod SHIFT, F6, movetoworkspace, 16
|
||||||
|
bind = $mainMod SHIFT, F7, movetoworkspace, 17
|
||||||
|
|
||||||
|
# Special workspaces (scratchpad)
|
||||||
|
# Special workspaces should only be opened on the primary monitor.
|
||||||
|
bind = $mainMod, F12, focusmonitor, DP-1
|
||||||
|
bind = $mainMod, F12, togglespecialworkspace, term
|
||||||
|
bind = $mainMod SHIFT, F12, movetoworkspace, special:term
|
||||||
|
bind = $mainMod, F11, focusmonitor, DP-1
|
||||||
|
bind = $mainMod, F11, togglespecialworkspace, browser
|
||||||
|
bind = $mainMod SHIFT, F11, movetoworkspace, special:browser
|
||||||
|
bind = $mainMod, F10, focusmonitor, DP-1
|
||||||
|
bind = $mainMod, F10, togglespecialworkspace, music
|
||||||
|
bind = $mainMod SHIFT, F10, movetoworkspace, special:music
|
||||||
|
bind = $mainMod, F9, focusmonitor, DP-1
|
||||||
|
bind = $mainMod, F9, togglespecialworkspace, todo
|
||||||
|
bind = $mainMod SHIFT, F9, movetoworkspace, special:todo
|
||||||
|
bind = $mainMod, F8, focusmonitor, DP-1
|
||||||
|
bind = $mainMod, F8, togglespecialworkspace, files
|
||||||
|
bind = $mainMod SHIFT, F8, movetoworkspace, special:files
|
||||||
|
|
||||||
|
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||||
|
bindm = $mainMod, mouse:272, movewindow
|
||||||
|
bindm = $mainMod, mouse:273, resizewindow
|
||||||
|
|
||||||
|
# Laptop multimedia keys for volume and LCD brightness
|
||||||
|
# bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
|
||||||
|
# bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||||
|
# bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||||
|
bindel = ,XF86AudioRaiseVolume, exec, swayosd-client --output-volume raise
|
||||||
|
bindel = ,XF86AudioLowerVolume, exec, swayosd-client --output-volume lower
|
||||||
|
bindel = ,XF86AudioMute, exec, swayosd-client --output-volume mute-toggle
|
||||||
|
|
||||||
|
|
||||||
|
bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
||||||
|
bindel = ,XF86MonBrightnessUp, exec, brightnessctl s 10%+
|
||||||
|
bindel = ,XF86MonBrightnessDown, exec, brightnessctl s 10%-
|
||||||
|
|
||||||
|
# Requires playerctl
|
||||||
|
bindl = , XF86AudioNext, exec, playerctl next
|
||||||
|
bindl = , XF86AudioPause, exec, playerctl play-pause -a
|
||||||
|
bindl = , XF86AudioPlay, exec, playerctl play-pause -a
|
||||||
|
bindl = , XF86AudioPrev, exec, playerctl previous
|
||||||
|
|
||||||
|
##############################
|
||||||
|
### WINDOWS AND WORKSPACES ###
|
||||||
|
##############################
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
|
||||||
|
|
||||||
|
# Ignore maximize requests from apps. You'll probably like this.
|
||||||
|
windowrule = match:class .*, suppress_event maximize
|
||||||
|
|
||||||
|
# Fix some dragging issues with XWayland
|
||||||
|
# windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
||||||
|
|
||||||
|
# Window rules to assign windows to workspaces
|
||||||
|
windowrule = match:title ^(.*Extension: Bitwarden.*)$, float 1
|
||||||
|
|
||||||
|
# Always center ClickUp command bar
|
||||||
|
windowrule = match:title ClickUp Command Bar, center 1
|
||||||
|
|
||||||
|
# Dont use floating mode for freerdp
|
||||||
|
windowrule = match:class ^(xfreerdp)$, tile 1
|
||||||
|
|
||||||
|
# Open audio settings in floating mode
|
||||||
|
windowrule = match:class org.pulseaudio.pavucontrol, float 1, size 500 1000, move 2841 61, pin 1
|
||||||
|
|
||||||
|
# Same for bluetooth settings
|
||||||
|
windowrule = match:title overskride, float 1, size 765 765, move 2653 44, pin 1
|
||||||
|
|
||||||
|
# Change border color of pinned windows
|
||||||
|
windowrule = match:pin 1, border_color rgb(CC34A4) rgb(4B2D70)
|
||||||
|
|
||||||
|
# Share Picker is always floating
|
||||||
|
windowrule = match:class com.paulaumann.hyprland-share-picker, float 1, center 1
|
||||||
|
|
||||||
|
# Waydroid is always floating and exact size
|
||||||
|
windowrule {
|
||||||
|
name = "waydroid"
|
||||||
|
match:initial_class = Waydroid
|
||||||
|
|
||||||
|
float = 1
|
||||||
|
size = 576 1024
|
||||||
|
}
|
||||||
|
windowrule {
|
||||||
|
name = "waydroid-apps"
|
||||||
|
match:initial_class = waydroid\..*
|
||||||
|
|
||||||
|
float = 1
|
||||||
|
size = 576 1024
|
||||||
|
}
|
||||||
|
|
||||||
|
# Vicinae is always floating and exact size
|
||||||
|
windowrule {
|
||||||
|
name = "vicinae"
|
||||||
|
match:initial_class = vicinae
|
||||||
|
float = 1
|
||||||
|
pin = 1
|
||||||
|
stay_focused = on
|
||||||
|
dim_around = on
|
||||||
|
no_anim = on
|
||||||
|
}
|
||||||
|
|
||||||
|
# ClickUp Command Bar will disappear if mouse is not over it, so we pin it and disable focus loss
|
||||||
|
windowrule {
|
||||||
|
name = "clickup-command-bar"
|
||||||
|
match:initial_title = ClickUp Command Bar
|
||||||
|
float = 1
|
||||||
|
stay_focused = on
|
||||||
|
}
|
||||||
|
|
||||||
|
# UXPlay windows are always floating and exact size
|
||||||
|
windowrule {
|
||||||
|
name = "uxplay"
|
||||||
|
match:initial_class = GStreamer
|
||||||
|
match:initial_title = Pauls PC # This is the server name (-n) set in ~/.config/uxplayrc
|
||||||
|
float = 1
|
||||||
|
center = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Import Modal for LibreOffice calc is always floating and exact size
|
||||||
|
windowrule {
|
||||||
|
name = "libreoffice-import-modal"
|
||||||
|
match:initial_class = soffice
|
||||||
|
match:initial_title = Text Import.*
|
||||||
|
float = 1
|
||||||
|
size = 800 400
|
||||||
|
stay_focused = on
|
||||||
|
dim_around = on
|
||||||
|
move = 1320 520
|
||||||
|
}
|
||||||
|
|
||||||
|
# Notification animation style
|
||||||
|
layerrule = match:namespace notifications, animation slide
|
||||||
|
|
||||||
|
# Fixes black border around screenshots due to animation after selection
|
||||||
|
layerrule {
|
||||||
|
name = no_anim_for_selection
|
||||||
|
match:namespace = selection
|
||||||
|
no_anim = on
|
||||||
|
}
|
||||||
|
|
||||||
|
# Blur behind certain layers
|
||||||
|
layerrule {
|
||||||
|
name = blur_waybar
|
||||||
|
match:namespace = waybar
|
||||||
|
blur = on
|
||||||
|
}
|
||||||
|
|
||||||
|
layerrule {
|
||||||
|
name = blur_tofi
|
||||||
|
match:namespace = launcher
|
||||||
|
blur = on
|
||||||
|
}
|
||||||
|
|
||||||
|
layerrule {
|
||||||
|
name = blur_swayosd
|
||||||
|
match:namespace = swayosd
|
||||||
|
blur = on
|
||||||
|
}
|
||||||
|
|
||||||
|
# Disabled since vicinae is currently a window, and not a layer.
|
||||||
|
# layerrule {
|
||||||
|
# name = blur_vicinae
|
||||||
|
# match:namespace = vicinae
|
||||||
|
# blur = on
|
||||||
|
# ignore_alpha = on
|
||||||
|
# dim_around = on
|
||||||
|
# }
|
||||||
|
|
||||||
|
# layerrule {
|
||||||
|
# name = no_animation_for_vicinae
|
||||||
|
# match:namespace = vicinae
|
||||||
|
# no_anim = on
|
||||||
|
# }
|
||||||
|
|
||||||
|
# Workspace rules to assign workspaces to monitors
|
||||||
|
workspace = 1, monitor:DP-1, default:true
|
||||||
|
workspace = 2, monitor:DP-1
|
||||||
|
workspace = 3, monitor:DP-1
|
||||||
|
workspace = 4, monitor:DP-1
|
||||||
|
workspace = 5, monitor:DP-1
|
||||||
|
workspace = 11, monitor:DP-2, default:true
|
||||||
|
workspace = 12, monitor:DP-2
|
||||||
|
workspace = 13, monitor:DP-2
|
||||||
|
workspace = 14, monitor:DP-2
|
||||||
|
workspace = 15, monitor:DP-2
|
||||||
|
|
||||||
|
workspace = special:term, gapsout:64
|
||||||
|
workspace = special:browser, gapsout:64
|
||||||
|
workspace = special:music, gapsout:64
|
||||||
|
workspace = special:todo, gapsout:64
|
||||||
|
workspace = special:files, gapsout:64
|
||||||
|
|
||||||
|
# Workspace rules to set layouts for specific workspaces (default is currently dwindle)
|
||||||
|
workspace = 1, layout:master
|
||||||
|
|
||||||
|
workspace = special:term, layout:master
|
||||||
13
.config/hypr/hyprpaper.conf
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
wallpaper {
|
||||||
|
monitor = DP-1
|
||||||
|
path = ~/.config/hypr/img/gnome-background.webp
|
||||||
|
fit_mode = cover
|
||||||
|
}
|
||||||
|
|
||||||
|
wallpaper {
|
||||||
|
monitor = DP-2
|
||||||
|
path = ~/.config/hypr/img/gnome-background.webp
|
||||||
|
fit_mode = cover
|
||||||
|
}
|
||||||
|
|
||||||
|
splash = false
|
||||||
7
.config/hypr/presets/wasteside.sh
Executable file
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
hyprctl dispatch exec "[ workspace 11 ]" "firefox -n"
|
||||||
|
hyprctl dispatch exec "[ workspace 12 silent ]" "clickup"
|
||||||
|
|
||||||
|
hyprctl dispatch exec "[ workspace 1 ]" "firefox -n"
|
||||||
|
hyprctl dispatch exec "[ workspace 1 ]" "code ~/code/wasteside/app"
|
||||||
5
.config/hypr/scripts/songdetail.sh
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
song_info=$(playerctl metadata --format '{{title}} {{artist}}')
|
||||||
|
|
||||||
|
echo "$song_info"
|
||||||
193
.config/i3/config
Normal file
@@ -0,0 +1,193 @@
|
|||||||
|
# This file has been auto-generated by i3-config-wizard(1).
|
||||||
|
# It will not be overwritten, so edit it as you like.
|
||||||
|
#
|
||||||
|
# Should you change your keyboard layout some time, delete
|
||||||
|
# this file and re-run i3-config-wizard(1).
|
||||||
|
#
|
||||||
|
|
||||||
|
# i3 config file (v4)
|
||||||
|
#
|
||||||
|
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
|
||||||
|
|
||||||
|
set $mod Mod1
|
||||||
|
|
||||||
|
# Font for window titles. Will also be used by the bar unless a different font
|
||||||
|
# is used in the bar {} block below.
|
||||||
|
# font pango:monospace 8
|
||||||
|
|
||||||
|
# This font is widely installed, provides lots of unicode glyphs, right-to-left
|
||||||
|
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
||||||
|
font pango:DejaVu Sans Mono 8
|
||||||
|
|
||||||
|
# Start XDG autostart .desktop files using dex. See also
|
||||||
|
# https://wiki.archlinux.org/index.php/XDG_Autostart
|
||||||
|
exec --no-startup-id dex --autostart --environment i3
|
||||||
|
|
||||||
|
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
|
||||||
|
# they are included here as an example. Modify as you see fit.
|
||||||
|
|
||||||
|
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
|
||||||
|
# screen before suspend. Use loginctl lock-session to lock your screen.
|
||||||
|
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
|
||||||
|
|
||||||
|
# NetworkManager is the most popular way to manage wireless networks on Linux,
|
||||||
|
# and nm-applet is a desktop environment-independent system tray GUI for it.
|
||||||
|
exec --no-startup-id nm-applet
|
||||||
|
|
||||||
|
# Use pactl to adjust volume in PulseAudio.
|
||||||
|
set $refresh_i3status killall -SIGUSR1 i3status
|
||||||
|
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
|
||||||
|
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
|
||||||
|
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
|
||||||
|
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
|
||||||
|
|
||||||
|
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||||
|
floating_modifier $mod
|
||||||
|
|
||||||
|
# move tiling windows via drag & drop by left-clicking into the title bar,
|
||||||
|
# or left-clicking anywhere into the window while holding the floating modifier.
|
||||||
|
tiling_drag modifier titlebar
|
||||||
|
|
||||||
|
# start a terminal
|
||||||
|
bindsym $mod+Return exec i3-sensible-terminal
|
||||||
|
|
||||||
|
# kill focused window
|
||||||
|
bindsym $mod+Shift+q kill
|
||||||
|
|
||||||
|
# start dmenu (a program launcher)
|
||||||
|
bindsym $mod+d exec --no-startup-id dmenu_run
|
||||||
|
# A more modern dmenu replacement is rofi:
|
||||||
|
# bindcode $mod+40 exec "rofi -modi drun,run -show drun"
|
||||||
|
# There also is i3-dmenu-desktop which only displays applications shipping a
|
||||||
|
# .desktop file. It is a wrapper around dmenu, so you need that installed.
|
||||||
|
# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop
|
||||||
|
|
||||||
|
# change focus
|
||||||
|
bindsym $mod+j focus left
|
||||||
|
bindsym $mod+k focus down
|
||||||
|
bindsym $mod+l focus up
|
||||||
|
bindsym $mod+odiaeresis focus right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
|
# move focused window
|
||||||
|
bindsym $mod+Shift+j move left
|
||||||
|
bindsym $mod+Shift+k move down
|
||||||
|
bindsym $mod+Shift+l move up
|
||||||
|
bindsym $mod+Shift+odiaeresis move right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Shift+Left move left
|
||||||
|
bindsym $mod+Shift+Down move down
|
||||||
|
bindsym $mod+Shift+Up move up
|
||||||
|
bindsym $mod+Shift+Right move right
|
||||||
|
|
||||||
|
# split in horizontal orientation
|
||||||
|
bindsym $mod+h split h
|
||||||
|
|
||||||
|
# split in vertical orientation
|
||||||
|
bindsym $mod+v split v
|
||||||
|
|
||||||
|
# enter fullscreen mode for the focused container
|
||||||
|
bindsym $mod+f fullscreen toggle
|
||||||
|
|
||||||
|
# change container layout (stacked, tabbed, toggle split)
|
||||||
|
bindsym $mod+s layout stacking
|
||||||
|
bindsym $mod+w layout tabbed
|
||||||
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
|
# toggle tiling / floating
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
|
# change focus between tiling / floating windows
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# focus the parent container
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
|
||||||
|
# focus the child container
|
||||||
|
#bindsym $mod+d focus child
|
||||||
|
|
||||||
|
# Define names for default workspaces for which we configure key bindings later on.
|
||||||
|
# We use variables to avoid repeating the names in multiple places.
|
||||||
|
set $ws1 "1"
|
||||||
|
set $ws2 "2"
|
||||||
|
set $ws3 "3"
|
||||||
|
set $ws4 "4"
|
||||||
|
set $ws5 "5"
|
||||||
|
set $ws6 "6"
|
||||||
|
set $ws7 "7"
|
||||||
|
set $ws8 "8"
|
||||||
|
set $ws9 "9"
|
||||||
|
set $ws10 "10"
|
||||||
|
|
||||||
|
# switch to workspace
|
||||||
|
bindsym $mod+1 workspace number $ws1
|
||||||
|
bindsym $mod+2 workspace number $ws2
|
||||||
|
bindsym $mod+3 workspace number $ws3
|
||||||
|
bindsym $mod+4 workspace number $ws4
|
||||||
|
bindsym $mod+5 workspace number $ws5
|
||||||
|
bindsym $mod+6 workspace number $ws6
|
||||||
|
bindsym $mod+7 workspace number $ws7
|
||||||
|
bindsym $mod+8 workspace number $ws8
|
||||||
|
bindsym $mod+9 workspace number $ws9
|
||||||
|
bindsym $mod+0 workspace number $ws10
|
||||||
|
|
||||||
|
# move focused container to workspace
|
||||||
|
bindsym $mod+Shift+1 move container to workspace number $ws1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace number $ws2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace number $ws3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace number $ws4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace number $ws5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace number $ws6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace number $ws7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace number $ws8
|
||||||
|
bindsym $mod+Shift+9 move container to workspace number $ws9
|
||||||
|
bindsym $mod+Shift+0 move container to workspace number $ws10
|
||||||
|
|
||||||
|
# reload the configuration file
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||||
|
bindsym $mod+Shift+r restart
|
||||||
|
# exit i3 (logs you out of your X session)
|
||||||
|
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
|
||||||
|
|
||||||
|
# resize window (you can also use the mouse for that)
|
||||||
|
mode "resize" {
|
||||||
|
# These bindings trigger as soon as you enter the resize mode
|
||||||
|
|
||||||
|
# Pressing left will shrink the window’s width.
|
||||||
|
# Pressing right will grow the window’s width.
|
||||||
|
# Pressing up will shrink the window’s height.
|
||||||
|
# Pressing down will grow the window’s height.
|
||||||
|
bindsym j resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym k resize grow height 10 px or 10 ppt
|
||||||
|
bindsym l resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym odiaeresis resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# same bindings, but for the arrow keys
|
||||||
|
bindsym Left resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym Down resize grow height 10 px or 10 ppt
|
||||||
|
bindsym Up resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym Right resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# back to normal: Enter or Escape or $mod+r
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
bindsym $mod+r mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||||
|
# finds out, if available)
|
||||||
|
bar {
|
||||||
|
status_command i3status
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
gaps inner 10
|
||||||
2
.config/lazygit/config.yml
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
gui:
|
||||||
|
mouseEvents: false
|
||||||
6
.config/pipewire/pipewire.conf.d/raop-discover.conf
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
context.modules = [
|
||||||
|
{
|
||||||
|
name = libpipewire-module-raop-discover
|
||||||
|
args = { }
|
||||||
|
}
|
||||||
|
]
|
||||||
1
.config/settings.json
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
vicinae/settings.json
|
||||||
51
.config/spotify-player/app.toml
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
theme = "dracula"
|
||||||
|
client_id = "7fed45e8d6ec4ff1b50e5464852fe136"
|
||||||
|
client_port = 8080
|
||||||
|
login_redirect_uri = "http://127.0.0.1:8989/login"
|
||||||
|
playback_format = """
|
||||||
|
{status} {track} • {artists} {liked}
|
||||||
|
{album}
|
||||||
|
{metadata}"""
|
||||||
|
notify_timeout_in_secs = 0
|
||||||
|
tracks_playback_limit = 50
|
||||||
|
app_refresh_duration_in_ms = 32
|
||||||
|
playback_refresh_duration_in_ms = 0
|
||||||
|
page_size_in_rows = 20
|
||||||
|
play_icon = "▶"
|
||||||
|
pause_icon = "▌▌"
|
||||||
|
liked_icon = "♥"
|
||||||
|
border_type = "Plain"
|
||||||
|
progress_bar_type = "Rectangle"
|
||||||
|
cover_img_length = 9
|
||||||
|
cover_img_width = 5
|
||||||
|
cover_img_scale = 1.0
|
||||||
|
cover_img_pixels = 64
|
||||||
|
enable_media_control = true
|
||||||
|
enable_streaming = "Always"
|
||||||
|
enable_notify = true
|
||||||
|
enable_cover_image_cache = true
|
||||||
|
default_device = "spotify-player"
|
||||||
|
notify_streaming_only = false
|
||||||
|
seek_duration_secs = 5
|
||||||
|
sort_artist_albums_by_type = false
|
||||||
|
|
||||||
|
[notify_format]
|
||||||
|
summary = "{track} • {artists}"
|
||||||
|
body = "{album}"
|
||||||
|
|
||||||
|
[layout]
|
||||||
|
playback_window_position = "Top"
|
||||||
|
playback_window_height = 6
|
||||||
|
|
||||||
|
[layout.library]
|
||||||
|
playlist_percent = 40
|
||||||
|
album_percent = 40
|
||||||
|
|
||||||
|
[device]
|
||||||
|
name = "spotify-player"
|
||||||
|
device_type = "speaker"
|
||||||
|
volume = 70
|
||||||
|
bitrate = 320
|
||||||
|
audio_cache = false
|
||||||
|
normalization = false
|
||||||
|
autoplay = false
|
||||||
22
.config/swayosd/colors.css
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
/* ~/.config/swayosd/colors.css
|
||||||
|
* Static example palette (Material-ish, dark)
|
||||||
|
* Used by: style.css via `@import "colors.css";`
|
||||||
|
*/
|
||||||
|
|
||||||
|
@define-color primary #8AB4F8; /* blue */
|
||||||
|
@define-color primary_container #1E3A5F; /* deep blue container */
|
||||||
|
|
||||||
|
@define-color surface_container_low #12161C; /* dark surface (low) */
|
||||||
|
@define-color outline #3A4654; /* subtle border/outline */
|
||||||
|
|
||||||
|
/* Optional extras (safe to keep even if unused) */
|
||||||
|
@define-color on_primary #0B1220;
|
||||||
|
@define-color on_primary_container #D7E3FF;
|
||||||
|
@define-color surface_container #161B22;
|
||||||
|
@define-color surface_container_high #1D2430;
|
||||||
|
@define-color error #F28B82;
|
||||||
|
@define-color warning #FDD663;
|
||||||
|
|
||||||
|
/* If you ever need transparency variants */
|
||||||
|
@define-color primary_transparent alpha(@primary, 0.7);
|
||||||
|
@define-color outline_transparent alpha(@outline, 0.7);
|
||||||
48
.config/swayosd/style.css
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
@import "colors.css";
|
||||||
|
|
||||||
|
window#osd {
|
||||||
|
border-radius: 10px;
|
||||||
|
border: 2px solid @outline;
|
||||||
|
background: alpha(@surface_container_low, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
window#osd #container {
|
||||||
|
margin: 6px;
|
||||||
|
padding: 2px;
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#osd image {
|
||||||
|
-gtk-icon-transform: scale(0.7);
|
||||||
|
}
|
||||||
|
|
||||||
|
window#osd image,
|
||||||
|
window#osd label {
|
||||||
|
color: @primary;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#osd progressbar:disabled,
|
||||||
|
window#osd image:disabled {
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#osd progressbar {
|
||||||
|
min-height: 6px;
|
||||||
|
border-radius: 999px;
|
||||||
|
background: transparent;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#osd trough {
|
||||||
|
min-height: inherit;
|
||||||
|
border-radius: inherit;
|
||||||
|
border: none;
|
||||||
|
background: alpha(@primary_container, 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
window#osd progress {
|
||||||
|
min-height: inherit;
|
||||||
|
border-radius: inherit;
|
||||||
|
border: none;
|
||||||
|
background: @primary;
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Hyprland session
|
||||||
|
BindsTo=graphical-session.target
|
||||||
|
Wants=graphical-session-pre.target
|
||||||
|
After=graphical-session-pre.target
|
||||||
|
PropagatesStopTo=graphical-session.target
|
||||||
18
.config/tofi/config
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
prompt-text = "> "
|
||||||
|
|
||||||
|
text-color = #cdd6f4
|
||||||
|
prompt-color = #585b70
|
||||||
|
selection-color = #33ccff
|
||||||
|
background-color = #181825aa
|
||||||
|
|
||||||
|
width = 100%
|
||||||
|
padding-left = 25%
|
||||||
|
padding-top = 30%
|
||||||
|
height = 100%
|
||||||
|
border-width = 0
|
||||||
|
outline-width = 0
|
||||||
|
result-spacing = 14
|
||||||
|
num-results = 8
|
||||||
|
font = Cantarell
|
||||||
|
font-variations = "wght 600"
|
||||||
|
font-size = 14
|
||||||
3
.config/uxplayrc
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
n "Pauls PC"
|
||||||
|
nh
|
||||||
|
fps 60
|
||||||
11
.config/vicinae/.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"[json]": {
|
||||||
|
"editor.formatOnSave": true,
|
||||||
|
"editor.codeActionsOnSave": {
|
||||||
|
"source.fixAll": "explicit"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"[jsonc]": {
|
||||||
|
"editor.formatOnSave": true
|
||||||
|
},
|
||||||
|
}
|
||||||
186
.config/vicinae/_default.jsonc
Normal file
@@ -0,0 +1,186 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://vicinae.com/schemas/config.json",
|
||||||
|
|
||||||
|
// A list of paths pointed to separate configuration files to source during loading.
|
||||||
|
// Note that values defined in the main configuration file always take precedence over imported
|
||||||
|
// files.
|
||||||
|
// Relative paths are accepted, and are relative to the configuration directory in which the importing configuration file is located.
|
||||||
|
"imports": [],
|
||||||
|
|
||||||
|
// Whether root search should also search files directly.
|
||||||
|
// File search is performed asynchrounously: files may take an instant to appear after a query is entered.
|
||||||
|
// Turning this on results in an increase in CPU usage when searching.
|
||||||
|
// Note that vicinae has a built-in file search command that can be used to perform file search in isolation, accompanied with
|
||||||
|
// rich content preview. This should be more than enough for most users.
|
||||||
|
"search_files_in_root": false,
|
||||||
|
|
||||||
|
// What vicinae should do when the "escape" key is pressed
|
||||||
|
// Supports "navigate_back" or "close_window"
|
||||||
|
"escape_key_behavior": "navigate_back",
|
||||||
|
|
||||||
|
// If the layer shell protocol is used to position the window and the keyboard interactivity is
|
||||||
|
// set to "exclusive" (the default) then this setting will have no effect. Either switch to "on_demand" interactivity
|
||||||
|
// or disable layer shell.
|
||||||
|
"close_on_focus_loss": false,
|
||||||
|
|
||||||
|
// Whether IME preedit strings should be searched in real time.
|
||||||
|
"consider_preedit": false,
|
||||||
|
|
||||||
|
// Reset the navigation state every time the window is closed
|
||||||
|
"pop_to_root_on_close": false,
|
||||||
|
|
||||||
|
// What favicon service to use when loading favicons is needed.
|
||||||
|
// Available values are: 'twenty' | 'google' | 'none'
|
||||||
|
// If this is set to 'none', favicon loading is disabled and a placeholder icon will be used when a favicon is expected.
|
||||||
|
"favicon_service": "twenty",
|
||||||
|
|
||||||
|
// EXPERIMENTAL!
|
||||||
|
// Enable specific editing motions in the main search bar and during navigation.
|
||||||
|
// This will probably be changed in future updates.
|
||||||
|
// Supports: 'default' | 'emacs'
|
||||||
|
"keybinding": "default",
|
||||||
|
|
||||||
|
"font": {
|
||||||
|
// The font family to use for the general vicinae UI.
|
||||||
|
// "auto" (recommended): uses the bundled Inter font
|
||||||
|
// "system": uses the system/platform default font
|
||||||
|
// Or specify any font family name (e.g. "Fira Sans")
|
||||||
|
"normal": {
|
||||||
|
"family": "auto",
|
||||||
|
// The point size of the font (unlike pixel size, the point size scales with resolution)
|
||||||
|
"size": 10.5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// The general vicinae theme as well as the system icon theme (used for applications and file icons) can be customized
|
||||||
|
// according to the system appearance.
|
||||||
|
// When editing the current theme through the vicinae GUI, it will modify the value that maps to the current system appearance.
|
||||||
|
"theme": {
|
||||||
|
"light": {
|
||||||
|
"name": "vicinae-light",
|
||||||
|
"icon_theme": "auto"
|
||||||
|
},
|
||||||
|
"dark": {
|
||||||
|
"name": "vicinae-dark",
|
||||||
|
"icon_theme": "auto"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"launcher_window": {
|
||||||
|
// Control the opacity of the main window.
|
||||||
|
// Opacity for other surfaces are controlled by the active theme.
|
||||||
|
"opacity": 0.95,
|
||||||
|
|
||||||
|
// Blur the window background.
|
||||||
|
// Only suported on Hyprland for now.
|
||||||
|
// May require a server restart to disable properly.
|
||||||
|
"blur": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
|
||||||
|
// Dims everything behind the vicinae window.
|
||||||
|
// Only supported on Hyprland for now.
|
||||||
|
// May require a server restart to disable properly.
|
||||||
|
"dim_around": true,
|
||||||
|
|
||||||
|
// You can turn client side decorations off if you want to let your compositor draw the rounded
|
||||||
|
// borders and such. This usually gives better results, but is more complicated to setup, if at all possible.
|
||||||
|
"client_side_decorations": {
|
||||||
|
"enabled": true,
|
||||||
|
"rounding": 10,
|
||||||
|
"border_width": 2
|
||||||
|
},
|
||||||
|
|
||||||
|
// In compact mode, vicinae only shows a search bar in the root search if no query is entered, only expanding to its full size when searching.
|
||||||
|
// WARNING: compact mode works best when vicinae is rendered as a layer surface (the default if available), as opposed to a regular floating window.
|
||||||
|
// That's because the part that is not rendered in compact mode is still part of the full window size, allowing the window to be gracefully expanded without having to deal
|
||||||
|
// with a compositor window resize which can generate a lot of visual noise. Server side borders and blur will look notably out of place.
|
||||||
|
"compact_mode": {
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
|
|
||||||
|
// The vicinae UI is designed to work best at the default size. If you change this it is highly recommended
|
||||||
|
// that you preserve a similar aspect ratio.
|
||||||
|
"size": {
|
||||||
|
"width": 770,
|
||||||
|
"height": 480
|
||||||
|
},
|
||||||
|
|
||||||
|
// EXPERIMENTAL - X11 ONLY!
|
||||||
|
// The name of the screen (as provided by a tool like xrandr) on which the vicinae window
|
||||||
|
// needs to be shown.
|
||||||
|
// e.g "eDP1", "DP-1"
|
||||||
|
"screen": "auto",
|
||||||
|
|
||||||
|
// Only for wayland compositors that support the 'wlr-layer-shell' protocol (https://wayland.app/protocols/wlr-layer-shell-unstable-v1)
|
||||||
|
// NOTE: layer shell support for the cosmic compositor is explicitly disabled as it is currently broken
|
||||||
|
"layer_shell": {
|
||||||
|
"enabled": true,
|
||||||
|
|
||||||
|
// 'exclusive' | 'on_demand'
|
||||||
|
// WARNING: 'exclusive' is known to break mouse stuff on popups (such as the action panel) on Hyprland
|
||||||
|
"keyboard_interactivity": "on_demand",
|
||||||
|
|
||||||
|
// either 'overlay' or 'top'.
|
||||||
|
// Other layers are not supported as they are unsuitable for a launcher.
|
||||||
|
// 'top' is recommended as using 'overlay' will make the vicinae window appear on top of IME popovers in some scenarios.
|
||||||
|
"layer": "top"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// How much memory (in MB) can be used to cache small image assets in memory directly
|
||||||
|
// The higher this value is the more memory vicinae will use. In exchange for this, you get lower cpu usage.
|
||||||
|
"pixmap_cache_mb": 50,
|
||||||
|
|
||||||
|
// Keybinds are serialized using a custom format.
|
||||||
|
// It is recommended to edit them through the settings GUI, which will write them to this file.
|
||||||
|
"keybinds": {
|
||||||
|
// common shortcuts
|
||||||
|
"open-search-filter": "control+P",
|
||||||
|
"open-settings": "control+,",
|
||||||
|
"toggle-action-panel": "control+B",
|
||||||
|
|
||||||
|
// used to assign shortcuts to generic actions
|
||||||
|
// if an extension provides a specific kind of action, it is encouraged to use shortcuts as defined here.
|
||||||
|
"action.copy": "control+shift+C",
|
||||||
|
"action.copy-name": "control+shift+.",
|
||||||
|
"action.copy-path": "control+shift+,",
|
||||||
|
"action.dangerous-remove": "control+shift+X",
|
||||||
|
"action.duplicate": "control+D",
|
||||||
|
"action.edit": "control+E",
|
||||||
|
"action.edit-secondary": "control+shift+E",
|
||||||
|
"action.move-down": "control+shift+ARROWDOWN",
|
||||||
|
"action.move-up": "control+shift+ARROWUP",
|
||||||
|
"action.new": "control+N",
|
||||||
|
"action.open": "control+O",
|
||||||
|
"action.pin": "control+shift+P",
|
||||||
|
"action.refresh": "control+R",
|
||||||
|
"action.remove": "control+X",
|
||||||
|
"action.save": "control+S"
|
||||||
|
},
|
||||||
|
|
||||||
|
// List of entrypoints that are tagged as "favorite".
|
||||||
|
// They show up on the very top of the root search when no search query is active.
|
||||||
|
// Each value is a serialized entrypoint ID.
|
||||||
|
"favorites": [
|
||||||
|
"clipboard:history"
|
||||||
|
],
|
||||||
|
|
||||||
|
// List of entrypoints to suggest as a fallback when no result matches the
|
||||||
|
// provided search query.
|
||||||
|
// Each value is a serialized entrypoint ID.
|
||||||
|
"fallbacks": [
|
||||||
|
"files:search"
|
||||||
|
],
|
||||||
|
|
||||||
|
// Every item that can be activated from the vicinae root search is referred as an entrypoint, or sometimes, in the case of extensions, as a "command".
|
||||||
|
// Entrypoints are always grouped under a provider.
|
||||||
|
// e,g applications entrypoints are all grouped under the "applications" provider
|
||||||
|
//
|
||||||
|
// The best way to interact with providers and entrypoints is through the graphical interface provided by the
|
||||||
|
// settings window ("extensions" tab). Every time a change is made through this GUI, the relevant values will be
|
||||||
|
// written to the "providers" object below (password preferences excluded).
|
||||||
|
//
|
||||||
|
// The exact list of available providers depends on what extensions have been installed.
|
||||||
|
"providers": {}
|
||||||
|
}
|
||||||
33
.config/vicinae/appeareance.jsonc
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://vicinae.com/schemas/config.json",
|
||||||
|
"launcher_window": {
|
||||||
|
// You can turn client side decorations off if you want to let your compositor draw the rounded
|
||||||
|
// borders and such. This usually gives better results, but is more complicated to setup, if at all possible.
|
||||||
|
"client_side_decorations": {
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
|
// Only for wayland compositors that support the 'wlr-layer-shell' protocol (https://wayland.app/protocols/wlr-layer-shell-unstable-v1)
|
||||||
|
// NOTE: layer shell support for the cosmic compositor is explicitly disabled as it is currently broken
|
||||||
|
"layer_shell": {
|
||||||
|
"enabled": false,
|
||||||
|
// 'exclusive' | 'on_demand'
|
||||||
|
// WARNING: 'exclusive' is known to break mouse stuff on popups (such as the action panel) on Hyprland
|
||||||
|
"keyboard_interactivity": "on_demand",
|
||||||
|
// either 'overlay' or 'top'.
|
||||||
|
// Other layers are not supported as they are unsuitable for a launcher.
|
||||||
|
// 'top' is recommended as using 'overlay' will make the vicinae window appear on top of IME popovers in some scenarios.
|
||||||
|
"layer": "top"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"font": {
|
||||||
|
// The font family to use for the general vicinae UI.
|
||||||
|
// "auto" (recommended): uses the bundled Inter font
|
||||||
|
// "system": uses the system/platform default font
|
||||||
|
// Or specify any font family name (e.g. "Fira Sans")
|
||||||
|
"normal": {
|
||||||
|
"family": "Verdana",
|
||||||
|
// The point size of the font (unlike pixel size, the point size scales with resolution)
|
||||||
|
"size": 10.5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
7
.config/vicinae/general.jsonc
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://vicinae.com/schemas/config.json",
|
||||||
|
// If the layer shell protocol is used to position the window and the keyboard interactivity is
|
||||||
|
// set to "exclusive" (the default) then this setting will have no effect. Either switch to "on_demand" interactivity
|
||||||
|
// or disable layer shell.
|
||||||
|
"close_on_focus_loss": false
|
||||||
|
}
|
||||||
17
.config/vicinae/settings.json
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
// This configuration is merged with the default vicinae configuration file, which you can obtain by running the `vicinae config default` command.
|
||||||
|
// Every item defined in this file takes precedence over the values defined in the default config or any other imported file.
|
||||||
|
//
|
||||||
|
// You can make manual edits to this file, however you should keep in mind that this file may be written to by vicinae when a configuration change is made through the GUI.
|
||||||
|
// When that happens, any custom comments or formatting will be lost.
|
||||||
|
//
|
||||||
|
// If you want to maintain a configuration file with your own comments and formatting, you should create a separate file and add it to the 'imports' array.
|
||||||
|
//
|
||||||
|
// Learn more about configuration at https://docs.vicinae.com/config
|
||||||
|
|
||||||
|
{
|
||||||
|
"$schema": "https://vicinae.com/schemas/config.json",
|
||||||
|
"imports": [
|
||||||
|
"appeareance.jsonc",
|
||||||
|
"general.jsonc"
|
||||||
|
]
|
||||||
|
}
|
||||||
120
.config/waybar/config.jsonc
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
{
|
||||||
|
"layer": "top",
|
||||||
|
"output": "DP-1",
|
||||||
|
"modules-left": [
|
||||||
|
"custom/power",
|
||||||
|
"hyprland/workspaces",
|
||||||
|
"custom/spotify"
|
||||||
|
],
|
||||||
|
"modules-center": [
|
||||||
|
"clock"
|
||||||
|
],
|
||||||
|
"modules-right": [
|
||||||
|
"privacy",
|
||||||
|
"custom/coffee",
|
||||||
|
"pulseaudio",
|
||||||
|
"cpu",
|
||||||
|
"memory",
|
||||||
|
"bluetooth",
|
||||||
|
// "network",
|
||||||
|
"custom/wireguard"
|
||||||
|
],
|
||||||
|
"custom/power": {
|
||||||
|
"format": "⏻",
|
||||||
|
"tooltip": false,
|
||||||
|
"on-click": "hyprctl dispatch exec 'wlogout -b 6 -L 1100 -R 1100 -T 650 -B 650'"
|
||||||
|
},
|
||||||
|
"custom/coffee": {
|
||||||
|
"exec": "/usr/bin/python3 /home/paul/.config/waybar/scripts/coffee.py",
|
||||||
|
"format": "{}",
|
||||||
|
"return-type": "json",
|
||||||
|
"interval": 1,
|
||||||
|
"on-click": "pidof hypridle >/dev/null && killall hypridle || hyprctl dispatch exec hypridle"
|
||||||
|
},
|
||||||
|
"hyprland/workspaces": {
|
||||||
|
"format": "{name}",
|
||||||
|
"tooltip": false,
|
||||||
|
"all-outputs": true,
|
||||||
|
"on-click": "none"
|
||||||
|
},
|
||||||
|
"clock": {
|
||||||
|
"format": "{0:%b, %d %H:%M:%S}",
|
||||||
|
"interval": 1,
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-format": "{0:%A, %d.%m.%Y W%V}"
|
||||||
|
},
|
||||||
|
"custom/spotify": {
|
||||||
|
"exec": "/usr/bin/python3 /home/paul/downloads/repos/Waybar/resources/custom_modules/mediaplayer.py",
|
||||||
|
"format": "{}",
|
||||||
|
"return-type": "json",
|
||||||
|
"on-click": "playerctl play-pause",
|
||||||
|
"on-scroll-up": "playerctl next",
|
||||||
|
"on-scroll-down": "playerctl previous"
|
||||||
|
},
|
||||||
|
"privacy": {
|
||||||
|
"icon-spacing": 4,
|
||||||
|
"icon-size": 12,
|
||||||
|
"transition-duration": 250,
|
||||||
|
"modules": [
|
||||||
|
{
|
||||||
|
"type": "screenshare",
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-icon-size": 24
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "audio-in",
|
||||||
|
"tooltip": true,
|
||||||
|
"tooltip-icon-size": 24
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"cpu": {
|
||||||
|
"format": " {usage}%",
|
||||||
|
"interval": 5,
|
||||||
|
"on-click": "hyprctl dispatch exec 'resources -t cpu'"
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"format": " {percentage}% ({used}G)",
|
||||||
|
"interval": 5,
|
||||||
|
"on-click": "hyprctl dispatch exec 'resources -t memory'"
|
||||||
|
},
|
||||||
|
"pulseaudio": {
|
||||||
|
"format": "{icon} {volume}%",
|
||||||
|
"format-muted": "",
|
||||||
|
"tooltip": false,
|
||||||
|
"format-icons": {
|
||||||
|
"headphone": "",
|
||||||
|
"default": [
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
""
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"scroll-step": 1,
|
||||||
|
"on-click": "pavucontrol"
|
||||||
|
},
|
||||||
|
"bluetooth": {
|
||||||
|
"format": " {status}",
|
||||||
|
"format-disabled": "", // an empty format will hide the module
|
||||||
|
"format-connected": " {num_connections}",
|
||||||
|
"tooltip-format": "{device_enumerate}",
|
||||||
|
"tooltip-format-enumerate-connected": "{device_alias} {device_address}",
|
||||||
|
"on-click": "hyprctl dispatch exec overskride"
|
||||||
|
},
|
||||||
|
// "network": {
|
||||||
|
// "format": " {ifname}",
|
||||||
|
// "format-ethernet": " {ipaddr}/{cidr}",
|
||||||
|
// "tooltip": false,
|
||||||
|
// },
|
||||||
|
"custom/wireguard": {
|
||||||
|
"exec": "/usr/bin/python3 /home/paul/.config/waybar/scripts/wireguard.py wasteside",
|
||||||
|
"format": " {}",
|
||||||
|
"return-type": "json",
|
||||||
|
"interval": 5
|
||||||
|
}
|
||||||
|
}
|
||||||
25
.config/waybar/scripts/coffee.py
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
from argparse import ArgumentParser
|
||||||
|
from json import dumps
|
||||||
|
from subprocess import run
|
||||||
|
|
||||||
|
COFFEE_ICON = "\ue751"
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
result = run(["pidof", "hypridle"], capture_output=True, text=True)
|
||||||
|
|
||||||
|
if result.returncode == 0:
|
||||||
|
# Hypridle is running
|
||||||
|
print(dumps({
|
||||||
|
"text": COFFEE_ICON,
|
||||||
|
"tooltip": "Hypridle is running",
|
||||||
|
"class": "inactive"
|
||||||
|
}))
|
||||||
|
|
||||||
|
else:
|
||||||
|
# Hypridle is not running
|
||||||
|
print(dumps({
|
||||||
|
"text": COFFEE_ICON,
|
||||||
|
"tooltip": "Hypridle is not running",
|
||||||
|
"class": "active"
|
||||||
|
}))
|
||||||
|
|
||||||
23
.config/waybar/scripts/wireguard.py
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
from argparse import ArgumentParser
|
||||||
|
from json import dumps
|
||||||
|
from subprocess import run
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
parser = ArgumentParser()
|
||||||
|
parser.add_argument("interfaces", nargs="+", help="one or more names of interfaces to watch")
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
watch = set(args.interfaces)
|
||||||
|
|
||||||
|
ifconfig = run(["ifconfig", "-s"], capture_output=True, text=True).stdout
|
||||||
|
|
||||||
|
interfaces = {line.split()[0] for line in ifconfig.splitlines()[1:]}
|
||||||
|
|
||||||
|
active = interfaces.intersection(watch)
|
||||||
|
|
||||||
|
result = {
|
||||||
|
"text": "active" if len(active) > 0 else "inactive",
|
||||||
|
"tooltip": "\n".join(active),
|
||||||
|
}
|
||||||
|
|
||||||
|
print(dumps(result))
|
||||||
113
.config/waybar/style.css
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
* {
|
||||||
|
border: none;
|
||||||
|
font-family: 'Verdana', 'Cantarell', 'monospace', 'Symbols Nerd Font Mono';
|
||||||
|
font-size: 12px;
|
||||||
|
font-feature-settings: '"zero", "ss01", "ss02", "ss03", "ss04", "ss05", "cv31"';
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background: rgba(0, 0, 0, 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* All modules */
|
||||||
|
|
||||||
|
/* Module on the left */
|
||||||
|
.modules-left {
|
||||||
|
color: #cdd6f4;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-power {
|
||||||
|
color: white;
|
||||||
|
padding: 0px 8px;
|
||||||
|
padding-left: 18px;
|
||||||
|
font-weight: 800;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-power:hover {
|
||||||
|
background-color: #33ccff;
|
||||||
|
color: #107091;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces {
|
||||||
|
margin-left: 10px;
|
||||||
|
font-size: 12px;
|
||||||
|
border-radius: 100px;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
color: white;
|
||||||
|
animation: gradient_f 20s ease-in infinite;
|
||||||
|
transition: all 0.2s ease-in;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:hover {
|
||||||
|
background: none;
|
||||||
|
color: white;
|
||||||
|
box-shadow: inherit;
|
||||||
|
text-shadow: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button.active {
|
||||||
|
color: #33ccff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-spotify {
|
||||||
|
padding: 0px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-spotify:hover {
|
||||||
|
background-color: rgba(0, 0, 0, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Module in the middle */
|
||||||
|
#clock {
|
||||||
|
color: #cdd6f4;
|
||||||
|
padding-left: 10px;
|
||||||
|
padding-right: 10px;
|
||||||
|
margin-right: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Module on the right */
|
||||||
|
|
||||||
|
.modules-right {
|
||||||
|
color: white;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-right *:hover {
|
||||||
|
background-color: rgba(0, 0, 0, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-right * {
|
||||||
|
padding: 0px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#memory {
|
||||||
|
padding-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cpu {
|
||||||
|
padding-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#bluetooth {
|
||||||
|
padding-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-wireguard {
|
||||||
|
padding-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-coffee {
|
||||||
|
padding-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inactive {
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
51
.config/winapps/compose.yaml
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
# For documentation, FAQ, additional configuration options and technical help, visit: https://github.com/dockur/windows
|
||||||
|
|
||||||
|
name: "winapps" # Docker Compose Project Name.
|
||||||
|
# volumes:
|
||||||
|
# Create Volume 'data'.
|
||||||
|
# Located @ '/var/lib/docker/volumes/winapps_data/_data' (Docker).
|
||||||
|
# Located @ '/var/lib/containers/storage/volumes/winapps_data/_data' or '~/.local/share/containers/storage/volumes/winapps_data/_data' (Podman).
|
||||||
|
# data:
|
||||||
|
|
||||||
|
services:
|
||||||
|
windows:
|
||||||
|
image: ghcr.io/dockur/windows:latest
|
||||||
|
container_name: winapps # Created Docker VM Name.
|
||||||
|
environment:
|
||||||
|
# Version of Windows to configure. For valid options, visit:
|
||||||
|
# https://github.com/dockur/windows?tab=readme-ov-file#how-do-i-select-the-windows-version
|
||||||
|
# https://github.com/dockur/windows?tab=readme-ov-file#how-do-i-install-a-custom-image
|
||||||
|
VERSION: "11"
|
||||||
|
RAM_SIZE: "8G" # RAM allocated to the Windows VM.
|
||||||
|
CPU_CORES: "4" # CPU cores allocated to the Windows VM.
|
||||||
|
DISK_SIZE: "64G" # Size of the primary hard disk.
|
||||||
|
# DISK2_SIZE: "32G" # Uncomment to add an additional hard disk to the Windows VM. Ensure it is mounted as a volume below.
|
||||||
|
USERNAME: "paul" # Edit here to set a custom Windows username. The default is 'MyWindowsUser'.
|
||||||
|
PASSWORD: "nicerdicer" # Edit here to set a password for the Windows user. The default is 'MyWindowsPassword'.
|
||||||
|
HOME: "${HOME}" # Set path to Linux user home folder.
|
||||||
|
ARGUMENTS: "-cpu host,arch_capabilities=off"
|
||||||
|
ports:
|
||||||
|
- 8006:8006 # Map '8006' on Linux host to '8006' on Windows VM --> For VNC Web Interface @ http://127.0.0.1:8006.
|
||||||
|
- 3389:3389/tcp # Map '3389' on Linux host to '3389' on Windows VM --> For Remote Desktop Protocol (RDP).
|
||||||
|
- 3389:3389/udp # Map '3389' on Linux host to '3389' on Windows VM --> For Remote Desktop Protocol (RDP).
|
||||||
|
cap_add:
|
||||||
|
- NET_ADMIN # Add network permission
|
||||||
|
stop_grace_period: 120s # Wait 120 seconds before sending SIGTERM when attempting to shut down the Windows VM.
|
||||||
|
restart: on-failure # Restart the Windows VM if the exit code indicates an error.
|
||||||
|
volumes:
|
||||||
|
- ~/.winapps:/storage # Mount local folder 'data' to use as Windows 'C:' drive.
|
||||||
|
- ${HOME}:/shared # Mount Linux user home directory @ '\\host.lan\Data'.
|
||||||
|
#- /path/to/second/hard/disk:/storage2 # Uncomment to create a virtual second hard disk and mount it within the Windows VM. Ensure 'DISK2_SIZE' is specified above.
|
||||||
|
- ./oem:/oem # Enables automatic post-install execution of 'oem/install.bat', applying Windows registry modifications contained within 'oem/RDPApps.reg'.
|
||||||
|
#- /path/to/windows/install/media.iso:/custom.iso # Uncomment to use a custom Windows ISO. If specified, 'VERSION' (e.g. 'tiny11') will be ignored.
|
||||||
|
devices:
|
||||||
|
- /dev/kvm # Enable KVM.
|
||||||
|
- /dev/net/tun # Enable tuntap
|
||||||
|
# Uncomment to mount a disk directly within the Windows VM.
|
||||||
|
# WARNING: /dev/sdX paths may change after reboot. Use persistent identifiers!
|
||||||
|
# NOTE: 'disk1' will be mounted as the main drive. THIS DISK WILL BE FORMATTED BY DOCKER.
|
||||||
|
# All following disks (disk2, ...) WILL NOT BE FORMATTED.
|
||||||
|
# - /dev/disk/by-id/<id>:/disk1
|
||||||
|
# - /dev/disk/by-id/<id>:/disk2
|
||||||
|
# group_add: # uncomment this line and the next one for using rootless podman containers
|
||||||
|
# - keep-groups # to make /dev/kvm work with podman. needs "crun" installed, "runc" will not work! Add your user to the 'kvm' group or another that can access /dev/kvm.
|
||||||
1794
.config/winapps/setup.sh
Executable file
139
.config/winapps/winapps.conf
Normal file
@@ -0,0 +1,139 @@
|
|||||||
|
##################################
|
||||||
|
# WINAPPS CONFIGURATION FILE #
|
||||||
|
##################################
|
||||||
|
|
||||||
|
# INSTRUCTIONS
|
||||||
|
# - Leading and trailing whitespace are ignored.
|
||||||
|
# - Empty lines are ignored.
|
||||||
|
# - Lines starting with '#' are ignored.
|
||||||
|
# - All characters following a '#' are ignored.
|
||||||
|
|
||||||
|
# [WINDOWS USERNAME]
|
||||||
|
RDP_USER="paul"
|
||||||
|
|
||||||
|
# [WINDOWS PASSWORD]
|
||||||
|
# NOTES:
|
||||||
|
# - If using FreeRDP v3.9.0 or greater, you *have* to set a password
|
||||||
|
RDP_PASS="nicerdicer"
|
||||||
|
|
||||||
|
# [WINDOWS DOMAIN]
|
||||||
|
# DEFAULT VALUE: '' (BLANK)
|
||||||
|
RDP_DOMAIN=""
|
||||||
|
|
||||||
|
# [WINDOWS IPV4 ADDRESS]
|
||||||
|
# NOTES:
|
||||||
|
# - If using 'libvirt', 'RDP_IP' will be determined by WinApps at runtime if left unspecified.
|
||||||
|
# DEFAULT VALUE:
|
||||||
|
# - 'docker': '127.0.0.1'
|
||||||
|
# - 'podman': '127.0.0.1'
|
||||||
|
# - 'libvirt': '' (BLANK)
|
||||||
|
RDP_IP="127.0.0.1"
|
||||||
|
|
||||||
|
# [VM NAME]
|
||||||
|
# NOTES:
|
||||||
|
# - Only applicable when using 'libvirt'
|
||||||
|
# - The libvirt VM name must match so that WinApps can determine VM IP, start the VM, etc.
|
||||||
|
# DEFAULT VALUE: 'RDPWindows'
|
||||||
|
VM_NAME="RDPWindows"
|
||||||
|
|
||||||
|
# [WINAPPS BACKEND]
|
||||||
|
# DEFAULT VALUE: 'docker'
|
||||||
|
# VALID VALUES:
|
||||||
|
# - 'docker'
|
||||||
|
# - 'podman'
|
||||||
|
# - 'libvirt'
|
||||||
|
# - 'manual'
|
||||||
|
WAFLAVOR="docker"
|
||||||
|
|
||||||
|
# [DISPLAY SCALING FACTOR]
|
||||||
|
# NOTES:
|
||||||
|
# - If an unsupported value is specified, a warning will be displayed.
|
||||||
|
# - If an unsupported value is specified, WinApps will use the closest supported value.
|
||||||
|
# DEFAULT VALUE: '100'
|
||||||
|
# VALID VALUES:
|
||||||
|
# - '100'
|
||||||
|
# - '140'
|
||||||
|
# - '180'
|
||||||
|
RDP_SCALE="100"
|
||||||
|
|
||||||
|
# [MOUNTING REMOVABLE PATHS FOR FILES]
|
||||||
|
# NOTES:
|
||||||
|
# - By default, `udisks` (which you most likely have installed) uses /run/media for mounting removable devices.
|
||||||
|
# This improves compatibility with most desktop environments (DEs).
|
||||||
|
# ATTENTION: The Filesystem Hierarchy Standard (FHS) recommends /media instead. Verify your system's configuration.
|
||||||
|
# - To manually mount devices, you may optionally use /mnt.
|
||||||
|
# REFERENCE: https://wiki.archlinux.org/title/Udisks#Mount_to_/media
|
||||||
|
REMOVABLE_MEDIA="/run/media"
|
||||||
|
|
||||||
|
# [ADDITIONAL FREERDP FLAGS & ARGUMENTS]
|
||||||
|
# NOTES:
|
||||||
|
# - You can try adding /network:lan to these flags in order to increase performance, however, some users have faced issues with this.
|
||||||
|
# DEFAULT VALUE: '/cert:tofu /sound /microphone +home-drive'
|
||||||
|
# VALID VALUES: See https://github.com/awakecoding/FreeRDP-Manuals/blob/master/User/FreeRDP-User-Manual.markdown
|
||||||
|
RDP_FLAGS="/cert:tofu /sound /microphone +home-drive"
|
||||||
|
|
||||||
|
# [DEBUG WINAPPS]
|
||||||
|
# NOTES:
|
||||||
|
# - Creates and appends to ~/.local/share/winapps/winapps.log when running WinApps.
|
||||||
|
# DEFAULT VALUE: 'true'
|
||||||
|
# VALID VALUES:
|
||||||
|
# - 'true'
|
||||||
|
# - 'false'
|
||||||
|
DEBUG="true"
|
||||||
|
|
||||||
|
# [AUTOMATICALLY PAUSE WINDOWS]
|
||||||
|
# NOTES:
|
||||||
|
# - This is currently INCOMPATIBLE with 'docker' and 'manual'.
|
||||||
|
# - See https://github.com/dockur/windows/issues/674
|
||||||
|
# DEFAULT VALUE: 'off'
|
||||||
|
# VALID VALUES:
|
||||||
|
# - 'on'
|
||||||
|
# - 'off'
|
||||||
|
AUTOPAUSE="off"
|
||||||
|
|
||||||
|
# [AUTOMATICALLY PAUSE WINDOWS TIMEOUT]
|
||||||
|
# NOTES:
|
||||||
|
# - This setting determines the duration of inactivity to tolerate before Windows is automatically paused.
|
||||||
|
# - This setting is ignored if 'AUTOPAUSE' is set to 'off'.
|
||||||
|
# - The value must be specified in seconds (to the nearest 10 seconds e.g., '30', '40', '50', etc.).
|
||||||
|
# - For RemoteApp RDP sessions, there is a mandatory 20-second delay, so the minimum value that can be specified here is '20'.
|
||||||
|
# - Source: https://techcommunity.microsoft.com/t5/security-compliance-and-identity/terminal-services-remoteapp-8482-session-termination-logic/ba-p/246566
|
||||||
|
# DEFAULT VALUE: '300'
|
||||||
|
# VALID VALUES: >=20
|
||||||
|
AUTOPAUSE_TIME="300"
|
||||||
|
|
||||||
|
# [FREERDP COMMAND]
|
||||||
|
# NOTES:
|
||||||
|
# - WinApps will attempt to automatically detect the correct command to use for your system.
|
||||||
|
# DEFAULT VALUE: '' (BLANK)
|
||||||
|
# VALID VALUES: The command required to run FreeRDPv3 on your system (e.g., 'xfreerdp', 'xfreerdp3', etc.).
|
||||||
|
FREERDP_COMMAND=""
|
||||||
|
|
||||||
|
# [TIMEOUTS]
|
||||||
|
# NOTES:
|
||||||
|
# - These settings control various timeout durations within the WinApps setup.
|
||||||
|
# - Increasing the timeouts is only necessary if the corresponding errors occur.
|
||||||
|
# - Ensure you have followed all the Troubleshooting Tips in the error message first.
|
||||||
|
|
||||||
|
# PORT CHECK
|
||||||
|
# - The maximum time (in seconds) to wait when checking if the RDP port on Windows is open.
|
||||||
|
# - Corresponding error: "NETWORK CONFIGURATION ERROR" (exit status 13).
|
||||||
|
# DEFAULT VALUE: '5'
|
||||||
|
PORT_TIMEOUT="5"
|
||||||
|
|
||||||
|
# RDP CONNECTION TEST
|
||||||
|
# - The maximum time (in seconds) to wait when testing the initial RDP connection to Windows.
|
||||||
|
# - Corresponding error: "REMOTE DESKTOP PROTOCOL FAILURE" (exit status 14).
|
||||||
|
# DEFAULT VALUE: '30'
|
||||||
|
RDP_TIMEOUT="30"
|
||||||
|
|
||||||
|
# APPLICATION SCAN
|
||||||
|
# - The maximum time (in seconds) to wait for the script that scans for installed applications on Windows to complete.
|
||||||
|
# - Corresponding error: "APPLICATION QUERY FAILURE" (exit status 15).
|
||||||
|
# DEFAULT VALUE: '60'
|
||||||
|
APP_SCAN_TIMEOUT="60"
|
||||||
|
|
||||||
|
# WINDOWS BOOT
|
||||||
|
# - The maximum time (in seconds) to wait for the Windows VM to boot if it is not running, before attempting to launch an application.
|
||||||
|
# DEFAULT VALUE: '120'
|
||||||
|
BOOT_TIMEOUT="120"
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
# Disable all monitor sources (e.g. output mirrors) so they don't appear as input devices
|
||||||
|
monitor.alsa.rules =
|
||||||
|
[
|
||||||
|
{
|
||||||
|
matches =
|
||||||
|
[
|
||||||
|
{
|
||||||
|
node.name = "~.*"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
actions =
|
||||||
|
{
|
||||||
|
update-props =
|
||||||
|
{
|
||||||
|
item.features.monitor = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
75
.config/wireplumber/wireplumber.conf.d/99-renames.conf
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
monitor.alsa.rules = [
|
||||||
|
# OUTPUT DEVICES
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{ node.name = "alsa_output.pci-0000_01_00.1.hdmi-stereo" }
|
||||||
|
],
|
||||||
|
actions = {
|
||||||
|
update-props = {
|
||||||
|
node.description = "BenQ GL2580",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{ node.name = "alsa_output.pci-0000_11_00.6.analog-stereo" }
|
||||||
|
],
|
||||||
|
actions = {
|
||||||
|
update-props = {
|
||||||
|
node.description = "Logitech Z313",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{ node.name = "alsa_output.usb-Razer_Razer_BlackShark_V2_Pro-00.analog-stereo" }
|
||||||
|
],
|
||||||
|
actions = {
|
||||||
|
update-props = {
|
||||||
|
node.description = "Razer BlackShark V2 Pro",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{ node.name = "alsa_output.usb-R__DE_Microphones_R__DE_NT-USB_Mini_514A76EB-00.analog-stereo" }
|
||||||
|
],
|
||||||
|
actions = {
|
||||||
|
update-props = {
|
||||||
|
node.description = "RØDE NT-USB Mini",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
# INPUT DEVICES
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{ node.name = "alsa_input.usb-R__DE_Microphones_R__DE_NT-USB_Mini_514A76EB-00.mono-fallback" }
|
||||||
|
],
|
||||||
|
actions = {
|
||||||
|
update-props = {
|
||||||
|
node.description = "RØDE NT-USB Mini",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{ node.name = "alsa_input.usb-Razer_Razer_BlackShark_V2_Pro-00.mono-fallback" }
|
||||||
|
],
|
||||||
|
actions = {
|
||||||
|
update-props = {
|
||||||
|
node.description = "Razer BlackShark V2 Pro",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{ node.name = "alsa_input.pci-0000_11_00.6.analog-stereo" }
|
||||||
|
],
|
||||||
|
actions = {
|
||||||
|
update-props = {
|
||||||
|
node.description = "3.5mm Input",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
32
.config/wireplumber/wireplumber.conf.d/disable-hsp_hfp.conf
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
## In WirePlumber there's a bug where some applications trigger switching to Headset Profile
|
||||||
|
## --
|
||||||
|
## See issue #634, #645, #630, #629, #613
|
||||||
|
## --
|
||||||
|
## This config mitigates the issue by completely disabling the switching and support for Headset Profile (HFP)
|
||||||
|
## Using this would only make sense if you never plan on using the microphone that comes with your headset.
|
||||||
|
|
||||||
|
wireplumber.settings = {
|
||||||
|
## Whether to use headset profile in the presence of an input stream.
|
||||||
|
## --
|
||||||
|
## Disable for now, as it causes issues. See note at the top as to why.
|
||||||
|
bluetooth.autoswitch-to-headset-profile = false
|
||||||
|
}
|
||||||
|
|
||||||
|
monitor.bluez.properties = {
|
||||||
|
## Enabled roles (default: [ a2dp_sink a2dp_source bap_sink bap_source hfp_hf hfp_ag ])
|
||||||
|
##
|
||||||
|
## Currently some headsets (Sony WH-1000XM3) are not working with
|
||||||
|
## both hsp_ag and hfp_ag enabled, so by default we enable only HFP.
|
||||||
|
##
|
||||||
|
## Supported roles: hsp_hs (HSP Headset),
|
||||||
|
## hsp_ag (HSP Audio Gateway),
|
||||||
|
## hfp_hf (HFP Hands-Free),
|
||||||
|
## hfp_ag (HFP Audio Gateway)
|
||||||
|
## a2dp_sink (A2DP Audio Sink)
|
||||||
|
## a2dp_source (A2DP Audio Source)
|
||||||
|
## bap_sink (LE Audio Basic Audio Profile Sink)
|
||||||
|
## bap_source (LE Audio Basic Audio Profile Source)
|
||||||
|
## --
|
||||||
|
## Only enable A2DP here and disable HFP. See note at the top as to why.
|
||||||
|
bluez5.roles = [ a2dp_sink a2dp_source ]
|
||||||
|
}
|
||||||
BIN
.config/wlogout/icons/lock.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
.config/wlogout/icons/logout.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
.config/wlogout/icons/reboot.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
.config/wlogout/icons/shutdown.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
.config/wlogout/icons/suspend.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
BIN
.config/wlogout/icons/windows.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
36
.config/wlogout/layout
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"label" : "lock",
|
||||||
|
"action" : "loginctl lock-session",
|
||||||
|
"text" : "Lock",
|
||||||
|
"keybind" : "l"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "logout",
|
||||||
|
"action" : "loginctl terminate-user $USER",
|
||||||
|
"text" : "Logout",
|
||||||
|
"keybind" : "e"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "shutdown",
|
||||||
|
"action" : "systemctl poweroff",
|
||||||
|
"text" : "Shutdown",
|
||||||
|
"keybind" : "s"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "suspend",
|
||||||
|
"action" : "systemctl suspend",
|
||||||
|
"text" : "Suspend",
|
||||||
|
"keybind" : "u"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "reboot",
|
||||||
|
"action" : "systemctl reboot",
|
||||||
|
"text" : "Reboot",
|
||||||
|
"keybind" : "r"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "windows",
|
||||||
|
"action" : "/usr/local/bin/reboot_windows",
|
||||||
|
"text" : "Windows",
|
||||||
|
"keybind" : "w"
|
||||||
|
}
|
||||||
51
.config/wlogout/style.css
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
* {
|
||||||
|
background-image: none;
|
||||||
|
box-shadow: none;
|
||||||
|
font-family: "Cantarell", 'Courier New', Courier, monospace;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
background-color: rgba(12, 12, 12, 0.9);
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
border-radius: 500px;
|
||||||
|
text-decoration-color: #FFFFFF;
|
||||||
|
color: #FFFFFF;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 1px;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: center;
|
||||||
|
background-size: 15%;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
button:focus, button:active, button:hover {
|
||||||
|
color: #33CCFF;
|
||||||
|
outline-style: none;
|
||||||
|
font-family: "Cantarell";
|
||||||
|
}
|
||||||
|
|
||||||
|
#lock {
|
||||||
|
background-image: image(url("/home/paul/.config/wlogout/icons/lock.png"), url("/usr/local/share/wlogout/icons/lock.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#logout {
|
||||||
|
background-image: image(url("/home/paul/.config/wlogout/icons/logout.png"), url("/usr/local/share/wlogout/icons/logout.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#suspend {
|
||||||
|
background-image: image(url("/home/paul/.config/wlogout/icons/suspend.png"), url("/usr/local/share/wlogout/icons/suspend.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#shutdown {
|
||||||
|
background-image: image(url("/home/paul/.config/wlogout/icons/shutdown.png"), url("/usr/local/share/wlogout/icons/shutdown.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#reboot {
|
||||||
|
background-image: image(url("/home/paul/.config/wlogout/icons/reboot.png"), url("/usr/local/share/wlogout/icons/reboot.png"));
|
||||||
|
}
|
||||||
|
|
||||||
|
#windows {
|
||||||
|
background-image: image(url("/home/paul/.config/wlogout/icons/windows.png"), url("/usr/local/share/wlogout/icons/windows.png"));
|
||||||
|
}
|
||||||
3
.gitignore
vendored
@@ -1,2 +1,5 @@
|
|||||||
# scripts to fetch config files
|
# scripts to fetch config files
|
||||||
getconfig.sh
|
getconfig.sh
|
||||||
|
|
||||||
|
# sensitive data
|
||||||
|
.Renviron
|
||||||
BIN
.icons/com.usebruno.app.Bruno.ico
Normal file
|
After Width: | Height: | Size: 11 KiB |
1
.icons/com.usebruno.app.Bruno.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg id="emoji" width="36" viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg"><g id="color"><path fill="#F4AA41" stroke="none" d="M23.5,14.5855l-4.5,1.75l-7.25,8.5l-4.5,10.75l2,5.25c1.2554,3.7911,3.5231,7.1832,7.25,10l2.5-3.3333 c0,0,3.8218,7.7098,10.7384,8.9598c0,0,10.2616,1.936,15.5949-0.8765c3.4203-1.8037,4.4167-4.4167,4.4167-4.4167l3.4167-3.4167 l1.5833,2.3333l2.0833-0.0833l5.4167-7.25L64,37.3355l-0.1667-4.5l-2.3333-5.5l-4.8333-7.4167c0,0-2.6667-4.9167-8.1667-3.9167 c0,0-6.5-4.8333-11.8333-4.0833S32.0833,10.6688,23.5,14.5855z"></path><polygon fill="#EA5A47" stroke="none" points="36,47.2521 32.9167,49.6688 30.4167,49.6688 30.3333,53.5021 31.0833,57.0021 32.1667,58.9188 35,60.4188 39.5833,59.8355 41.1667,58.0855 42.1667,53.8355 41.9167,49.8355 39.9167,50.0855"></polygon><polygon fill="#3F3F3F" stroke="none" points="32.5,36.9188 30.9167,40.6688 33.0833,41.9188 34.3333,42.4188 38.6667,42.5855 41.5833,40.3355 39.8333,37.0855"></polygon></g><g id="hair"></g><g id="skin"></g><g id="skin-shadow"></g><g id="line"><path fill="#000000" stroke="none" d="M29.5059,30.1088c0,0-1.8051,1.2424-2.7484,0.6679c-0.9434-0.5745-1.2424-1.8051-0.6679-2.7484 s1.805-1.2424,2.7484-0.6679S29.5059,30.1088,29.5059,30.1088z"></path><path fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2" d="M33.1089,37.006h6.1457c0.4011,0,0.7634,0.2397,0.9203,0.6089l1.1579,2.7245l-2.1792,1.1456 c-0.6156,0.3236-1.3654-0.0645-1.4567-0.754"></path><path fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2" d="M34.7606,40.763c-0.1132,0.6268-0.7757,0.9895-1.3647,0.7471l-2.3132-0.952l1.0899-2.9035 c0.1465-0.3901,0.5195-0.6486,0.9362-0.6486"></path><path fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2" d="M30.4364,50.0268c0,0-0.7187,8.7934,3.0072,9.9375c2.6459,0.8125,5.1497,0.5324,6.0625-0.25 c0.875-0.75,2.6323-4.4741,1.8267-9.6875"></path><path fill="#000000" stroke="none" d="M44.2636,30.1088c0,0,1.805,1.2424,2.7484,0.6679c0.9434-0.5745,1.2424-1.8051,0.6679-2.7484 c-0.5745-0.9434-1.805-1.2424-2.7484-0.6679C43.9881,27.9349,44.2636,30.1088,44.2636,30.1088z"></path><path fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2" d="M25.6245,42.8393c-0.475,3.6024,2.2343,5.7505,4.2847,6.8414c1.1968,0.6367,2.6508,0.5182,3.7176-0.3181l2.581-2.0233l2.581,2.0233 c1.0669,0.8363,2.5209,0.9548,3.7176,0.3181c2.0504-1.0909,4.7597-3.239,4.2847-6.8414"></path><path fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2" d="M19.9509,28.3572c-2.3166,5.1597-0.5084,13.0249,0.119,15.3759c0.122,0.4571,0.0755,0.9355-0.1271,1.3631l-1.9874,4.1937 c-0.623,1.3146-2.3934,1.5533-3.331,0.4409c-3.1921-3.7871-8.5584-11.3899-6.5486-16.686 c7.0625-18.6104,15.8677-18.1429,15.8677-18.1429c2.8453-1.9336,13.1042-6.9375,24.8125,0.875c0,0,8.6323-1.7175,14.9375,16.9375 c1.8036,5.3362-3.4297,12.8668-6.5506,16.6442c-0.9312,1.127-2.7162,0.8939-3.3423-0.4272l-1.9741-4.1656 c-0.2026-0.4275-0.2491-0.906-0.1271-1.3631c0.6275-2.3509,2.4356-10.2161,0.119-15.3759"></path><path fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2" d="M52.6309,46.4628c0,0-3.0781,6.7216-7.8049,8.2712"></path><path fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2" d="M19.437,46.969c0,0,3.0781,6.0823,7.8049,7.632"></path><line x1="36.2078" x2="36.2078" y1="47.3393" y2="44.3093" fill="none" stroke="#000000" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2"></line></g></svg>
|
||||||
|
After Width: | Height: | Size: 3.7 KiB |
53
.local/share/darkman/alacritty-theme.py
Executable file
@@ -0,0 +1,53 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import subprocess
|
||||||
|
from argparse import ArgumentParser
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
parser = ArgumentParser(description="Alacritty theme switcher")
|
||||||
|
parser.add_argument(
|
||||||
|
"mode",
|
||||||
|
help="The mode to switch the Alacritty theme to (e.g., 'dark' or 'light')",
|
||||||
|
)
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
if args.mode not in ["dark", "light"]:
|
||||||
|
print("Invalid mode. Please choose 'dark' or 'light'.")
|
||||||
|
exit(1)
|
||||||
|
|
||||||
|
"""
|
||||||
|
The Alacritty config directory should contain the following files:
|
||||||
|
└── themes
|
||||||
|
├── current.toml -> dark/default.toml
|
||||||
|
├── dark
|
||||||
|
│ └── default.toml
|
||||||
|
└── light
|
||||||
|
└── default.toml
|
||||||
|
|
||||||
|
The default.toml files can be symlinks to the actual theme files, so you can easily switch between
|
||||||
|
different themes by changing the symlink target.
|
||||||
|
|
||||||
|
To change the light/dark theme, we can simply change the current.toml symlink to point to the
|
||||||
|
appropriate theme file.
|
||||||
|
"""
|
||||||
|
|
||||||
|
alacritty_config = Path.home() / ".config/alacritty"
|
||||||
|
themes_dir = alacritty_config / "themes"
|
||||||
|
current_theme = themes_dir / "current.toml"
|
||||||
|
target_theme = themes_dir / args.mode / "default.toml"
|
||||||
|
|
||||||
|
if not target_theme.exists():
|
||||||
|
print(f"Target theme file not found at {target_theme}")
|
||||||
|
exit(1)
|
||||||
|
|
||||||
|
if current_theme.exists() and not current_theme.is_symlink():
|
||||||
|
print(f"Current theme file {current_theme} is not a symlink. Please fix this manually.")
|
||||||
|
exit(1)
|
||||||
|
|
||||||
|
if current_theme.exists():
|
||||||
|
current_theme.unlink()
|
||||||
|
|
||||||
|
current_theme.symlink_to(target_theme)
|
||||||
|
|
||||||
|
print("Done!")
|
||||||
30
.local/share/darkman/gtk-theme.py
Executable file
@@ -0,0 +1,30 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import subprocess
|
||||||
|
from argparse import ArgumentParser
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
parser = ArgumentParser(description="GTK theme switcher")
|
||||||
|
parser.add_argument(
|
||||||
|
"mode",
|
||||||
|
help="The mode to switch the GTK theme to (e.g., 'dark' or 'light')",
|
||||||
|
)
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
if args.mode not in ["dark", "light"]:
|
||||||
|
print("Invalid mode. Please choose 'dark' or 'light'.")
|
||||||
|
exit(1)
|
||||||
|
|
||||||
|
gtk_theme = "Adwaita-dark" if args.mode == "dark" else "Adwaita"
|
||||||
|
color_scheme = "prefer-dark" if args.mode == "dark" else "prefer-light"
|
||||||
|
|
||||||
|
# Set the GTK theme using gsettings
|
||||||
|
subprocess.run(
|
||||||
|
["gsettings", "set", "org.gnome.desktop.interface", "gtk-theme", gtk_theme],
|
||||||
|
check=True,
|
||||||
|
)
|
||||||
|
subprocess.run(
|
||||||
|
["gsettings", "set", "org.gnome.desktop.interface", "color-scheme", color_scheme],
|
||||||
|
check=True,
|
||||||
|
)
|
||||||
|
|
||||||
39
.local/share/darkman/vscode-theme.py
Executable file
@@ -0,0 +1,39 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import re
|
||||||
|
from argparse import ArgumentParser
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
parser = ArgumentParser(description="VS Code theme switcher")
|
||||||
|
parser.add_argument(
|
||||||
|
"mode",
|
||||||
|
help="The mode to switch the VS Code theme to (e.g., 'dark' or 'light')",
|
||||||
|
)
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
if args.mode not in ["dark", "light"]:
|
||||||
|
print("Invalid mode. Please choose 'dark' or 'light'.")
|
||||||
|
exit(1)
|
||||||
|
|
||||||
|
settings = Path.home() / ".config/Code/User/settings.json"
|
||||||
|
|
||||||
|
if not settings.exists():
|
||||||
|
print(f"VS Code settings file not found at {settings}")
|
||||||
|
exit(1)
|
||||||
|
|
||||||
|
# We just replace the theme name in the settings file using regex,
|
||||||
|
# this way we don't have to worry about jsonc parsing.
|
||||||
|
theme = "Monokai Pro" if args.mode == "dark" else "Monokai Pro Light"
|
||||||
|
|
||||||
|
with settings.open("r") as f:
|
||||||
|
content = f.read()
|
||||||
|
|
||||||
|
new_content = re.sub(
|
||||||
|
r'"workbench\.colorTheme"\s*:\s*".*?"',
|
||||||
|
f'"workbench.colorTheme": "{theme}"',
|
||||||
|
content,
|
||||||
|
)
|
||||||
|
|
||||||
|
with settings.open("w") as f:
|
||||||
|
f.write(new_content)
|
||||||
@@ -3,7 +3,13 @@ unbind-key C-b
|
|||||||
set-option -g prefix C-a
|
set-option -g prefix C-a
|
||||||
bind-key C-a send-prefix
|
bind-key C-a send-prefix
|
||||||
|
|
||||||
# split panes using |<7C>(vertically) and - (horizontally)
|
# use command prompt shortcut similar to vscode
|
||||||
|
bind-key -n C-p command-prompt
|
||||||
|
|
||||||
|
# since tmux prefix is now ctrl+a, use ctrl+b to send ctrl+a to program
|
||||||
|
bind-key -n C-b send C-a
|
||||||
|
|
||||||
|
# split panes using | (vertically) and - (horizontally)
|
||||||
bind / split-window -h -c "#{pane_current_path}"
|
bind / split-window -h -c "#{pane_current_path}"
|
||||||
bind - split-window -v -c "#{pane_current_path}"
|
bind - split-window -v -c "#{pane_current_path}"
|
||||||
bind c new-window -c "#{pane_current_path}"
|
bind c new-window -c "#{pane_current_path}"
|
||||||
@@ -13,9 +19,15 @@ unbind %
|
|||||||
# reload on r
|
# reload on r
|
||||||
bind r source-file ~/.tmux.conf \; display "Reloaded config!"
|
bind r source-file ~/.tmux.conf \; display "Reloaded config!"
|
||||||
|
|
||||||
|
# number of scrollback lines
|
||||||
|
set-option -g history-limit 5000
|
||||||
|
|
||||||
# enable mouse mode
|
# enable mouse mode
|
||||||
set -g mouse on
|
set -g mouse on
|
||||||
|
|
||||||
|
# stop window to stop jump to bottom when selection something
|
||||||
|
unbind-key -T copy-mode-vi MouseDragEnd1Pane
|
||||||
|
|
||||||
# start numbering panes at 1
|
# start numbering panes at 1
|
||||||
set -g base-index 1
|
set -g base-index 1
|
||||||
setw -g pane-base-index 1
|
setw -g pane-base-index 1
|
||||||
130
.zshrc
Normal file
@@ -0,0 +1,130 @@
|
|||||||
|
export ZSH="$HOME/.oh-my-zsh"
|
||||||
|
|
||||||
|
# Set name of the theme to load --- if set to "random", it will
|
||||||
|
# load a random theme each time oh-my-zsh is loaded, in which case,
|
||||||
|
# to know which specific one was loaded, run: echo $RANDOM_THEME
|
||||||
|
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
|
||||||
|
ZSH_THEME="custom"
|
||||||
|
|
||||||
|
# Uncomment the following line if you want to disable marking untracked files
|
||||||
|
# under VCS as dirty. This makes repository status check for large repositories
|
||||||
|
# much, much faster.
|
||||||
|
DISABLE_UNTRACKED_FILES_DIRTY="true"
|
||||||
|
|
||||||
|
# Which plugins would you like to load?
|
||||||
|
# Standard plugins can be found in $ZSH/plugins/
|
||||||
|
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
|
||||||
|
# Example format: plugins=(rails git textmate ruby lighthouse)
|
||||||
|
# Add wisely, as too many plugins slow down shell startup.
|
||||||
|
plugins=(git zsh-autosuggestions zsh-syntax-highlighting fast-syntax-highlighting pip docker uv zsh-uv-env colorize copyfile)
|
||||||
|
|
||||||
|
source $ZSH/oh-my-zsh.sh
|
||||||
|
|
||||||
|
# User configuration
|
||||||
|
|
||||||
|
# You may need to manually set your language environment
|
||||||
|
# export LANG=en_US.UTF-8
|
||||||
|
|
||||||
|
# Usually, vscode returns immediately after being run. This makes it not
|
||||||
|
# suitable for things like crontab or git, which wait until the editor has
|
||||||
|
# closed to continue. In such cases, we use the -w option to make it wait.
|
||||||
|
codewait="/usr/local/bin/code-wait.sh"
|
||||||
|
if [ ! -e $codewait ]; then
|
||||||
|
echo "Waiting version of vscode is missing."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Preferred editor for local and remote sessions
|
||||||
|
if [[ -n $SSH_CONNECTION ]]; then
|
||||||
|
export EDITOR='nano'
|
||||||
|
else
|
||||||
|
export EDITOR="helix"
|
||||||
|
export VISUAL=$codewait
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Compilation flags
|
||||||
|
# export ARCHFLAGS="-arch x86_64"
|
||||||
|
|
||||||
|
# Command aliases
|
||||||
|
alias py=python3
|
||||||
|
alias pip=pip3
|
||||||
|
alias ll="ls -lah"
|
||||||
|
|
||||||
|
qrshow(){
|
||||||
|
qrencode $1 -o - | viu -
|
||||||
|
}
|
||||||
|
|
||||||
|
# Shortcuts
|
||||||
|
alias sshconfig="$EDITOR ~/.ssh/config"
|
||||||
|
alias zshconfig="$EDITOR ~/.zshrc"
|
||||||
|
alias zshreload="source ~/.zshrc"
|
||||||
|
alias zshsource="source ~/.zshrc"
|
||||||
|
alias wol=wakeonlan
|
||||||
|
alias open="xdg-open"
|
||||||
|
alias lg="lazygit"
|
||||||
|
alias ccat="pygmentize -g -O style=monokai,linenos=1"
|
||||||
|
alias rm="echo Use the full path i.e. '/bin/rm', consider using: trash"
|
||||||
|
alias csv="csvlens"
|
||||||
|
alias ccopilot="cd ~/code/copilot && copilot"
|
||||||
|
alias hx="helix"
|
||||||
|
|
||||||
|
alias R="R --no-save"
|
||||||
|
|
||||||
|
export GOPATH="$HOME/.local/share/go"
|
||||||
|
export GOBIN="$HOME/.local/bin"
|
||||||
|
|
||||||
|
# Python tkinter stuff
|
||||||
|
export PATH="/usr/local/opt/tcl-tk/bin:$PATH"
|
||||||
|
|
||||||
|
# autojump
|
||||||
|
[ -f /opt/homebrew/etc/profile.d/autojump.sh ] && . /opt/homebrew/etc/profile.d/autojump.sh
|
||||||
|
|
||||||
|
# ws shortcuts
|
||||||
|
alias wsproddb="psql -h ep-shiny-brook-a23l5gzv-pooler.eu-central-1.aws.neon.tech -d neondb -U neondb_owner"
|
||||||
|
alias wsdevdb="psql -h ep-bitter-queen-a2jgwcaj-pooler.eu-central-1.aws.neon.tech -d verceldb -U default"
|
||||||
|
alias wsrecupdb="psql -h ep-icy-dew-aggbrr4l-pooler.c-2.eu-central-1.aws.neon.tech -d neondb -U neondb_owner"
|
||||||
|
alias wsrecupdevdb="psql -h ep-broad-base-ag8vy0hl-pooler.c-2.eu-central-1.aws.neon.tech -d neondb -U neondb_owner"
|
||||||
|
|
||||||
|
# Fix ls colors for synology directories
|
||||||
|
LS_COLORS+=':ow=01;33'
|
||||||
|
|
||||||
|
# Fix colors for ssh sessions
|
||||||
|
TERM=xterm-256color
|
||||||
|
|
||||||
|
# history
|
||||||
|
HISTFILE=~/.histfile
|
||||||
|
HISTSIZE=10000
|
||||||
|
SAVEHIST=10000
|
||||||
|
|
||||||
|
export XDG_DATA_DIRS="$HOME/.local/share:$XDG_DATA_DIRS"
|
||||||
|
|
||||||
|
# Android tools
|
||||||
|
export ANDROID_SDK_ROOT="$HOME/.local/opt/android-sdk"
|
||||||
|
export ANDROID_HOME="$ANDROID_SDK_ROOT"
|
||||||
|
export PATH="$PATH:$ANDROID_SDK_ROOT/cmdline-tools/latest/bin"
|
||||||
|
export PATH="$PATH:$ANDROID_SDK_ROOT/build-tools/36.0.0/"
|
||||||
|
export PATH="$PATH:$ANDROID_SDK_ROOT/emulator"
|
||||||
|
|
||||||
|
# Unlock hyprlock
|
||||||
|
alias unlock=pkill -USR1 hyprlock
|
||||||
|
|
||||||
|
# zoxided
|
||||||
|
eval "$(zoxide init --cmd cd zsh)"
|
||||||
|
|
||||||
|
# SDKMAN & Java
|
||||||
|
export SDKMAN_DIR="$HOME/.sdkman"
|
||||||
|
[[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh"
|
||||||
|
|
||||||
|
# Yarn
|
||||||
|
export PATH="$HOME/.yarn/bin:$PATH"
|
||||||
|
|
||||||
|
# More path stuff
|
||||||
|
export PATH="$HOME/.local/bin:$PATH"
|
||||||
|
|
||||||
|
#nvm
|
||||||
|
source /usr/share/nvm/init-nvm.sh
|
||||||
|
|
||||||
|
## [Completion]
|
||||||
|
## Completion scripts setup. Remove the following line to uninstall
|
||||||
|
[[ -f /home/paul/.dart-cli-completion/zsh-config.zsh ]] && . /home/paul/.dart-cli-completion/zsh-config.zsh || true
|
||||||
|
## [/Completion]
|
||||||
|
|
||||||
24
makepkg.conf
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
#!/hint/bash
|
||||||
|
# shellcheck disable=2034
|
||||||
|
|
||||||
|
#########################################################################
|
||||||
|
# GLOBAL PACKAGE OPTIONS
|
||||||
|
# These are default values for the options=() settings
|
||||||
|
#########################################################################
|
||||||
|
#
|
||||||
|
# Makepkg defaults:
|
||||||
|
# OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto !autodeps)
|
||||||
|
# A negated option will do the opposite of the comments below.
|
||||||
|
#
|
||||||
|
#-- strip: Strip symbols from binaries/libraries
|
||||||
|
#-- docs: Save doc directories specified by DOC_DIRS
|
||||||
|
#-- libtool: Leave libtool (.la) files in packages
|
||||||
|
#-- staticlibs: Leave static library (.a) files in packages
|
||||||
|
#-- emptydirs: Leave empty directories in packages
|
||||||
|
#-- zipman: Compress manual (man and info) pages in MAN_DIRS with gzip
|
||||||
|
#-- purge: Remove files specified by PURGE_TARGETS
|
||||||
|
#-- debug: Add debugging flags as specified in DEBUG_* variables
|
||||||
|
#-- lto: Add compile flags for building with link time optimization
|
||||||
|
#-- autodeps: Automatically add depends/provides
|
||||||
|
#
|
||||||
|
OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug lto)
|
||||||
@@ -1,199 +0,0 @@
|
|||||||
// Place your key bindings in this file to override the defaultsauto[]
|
|
||||||
[
|
|
||||||
// -------------- 1. EDITOR PANE MANAGEMENT --------------
|
|
||||||
// -------------- 1.1 EDITOR PANE CREATION ---------------
|
|
||||||
{
|
|
||||||
"key": "ctrl+a shift+7",
|
|
||||||
"command": "workbench.action.splitEditorRight"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "ctrl+a -",
|
|
||||||
"command": "workbench.action.splitEditorDown"
|
|
||||||
},
|
|
||||||
// -------------- 1.2 EDITOR PANE SWITCHING --------------
|
|
||||||
{
|
|
||||||
"key": "ctrl+a left",
|
|
||||||
"command": "workbench.action.focusLeftGroup"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "ctrl+a right",
|
|
||||||
"command": "workbench.action.focusRightGroup"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "ctrl+a up",
|
|
||||||
"command": "workbench.action.focusAboveGroup"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "ctrl+a down",
|
|
||||||
"command": "workbench.action.focusBelowGroup"
|
|
||||||
},
|
|
||||||
// --------------- 1.3 EDITOR PANE MOVEMENT --------------
|
|
||||||
{
|
|
||||||
"key": "ctrl+a shift+left",
|
|
||||||
"command": "workbench.action.moveActiveEditorGroupLeft"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "ctrl+a shift+right",
|
|
||||||
"command": "workbench.action.moveActiveEditorGroupRight"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "ctrl+a shift+up",
|
|
||||||
"command": "workbench.action.moveActiveEditorGroupUp"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "ctrl+a shift+down",
|
|
||||||
"command": "workbench.action.moveActiveEditorGroupDown"
|
|
||||||
},
|
|
||||||
// ------------------ 2. FILE MANAGEMENT -----------------
|
|
||||||
{
|
|
||||||
"key": "ctrl+a f",
|
|
||||||
"command": "workbench.files.action.focusFilesExplorer"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "cmd+n",
|
|
||||||
"command": "explorer.newFile",
|
|
||||||
"when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "cmd+d",
|
|
||||||
"command": "explorer.newFolder",
|
|
||||||
"when": "filesExplorerFocus && foldersViewVisible && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus"
|
|
||||||
},
|
|
||||||
// ----------------- 3. SYMBOL MANAGEMENT ----------------
|
|
||||||
{
|
|
||||||
"key": "shift+cmd+r",
|
|
||||||
"command": "editor.action.rename",
|
|
||||||
"when": "editorHasRenameProvider && editorTextFocus && !editorReadonly"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "shift+cmd+i",
|
|
||||||
"command": "editor.action.peekImplementation",
|
|
||||||
"when": "editorHasImplementationProvider && editorTextFocus && !inReferenceSearchEditor && !isInEmbeddedEditor"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "shift+cmd+d",
|
|
||||||
"command": "editor.action.revealDefinition",
|
|
||||||
"when": "editorHasDefinitionProvider && editorTextFocus && !isInEmbeddedEditor"
|
|
||||||
},
|
|
||||||
// ------------- 4. VARIOUS EDITOR SHORTCUTS -------------
|
|
||||||
{
|
|
||||||
"key": "cmd+d",
|
|
||||||
"command": "editor.action.copyLinesDownAction",
|
|
||||||
"when": "editorTextFocus && !editorReadonly"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "cmd+t",
|
|
||||||
"command": "workbench.action.createTerminalEditor"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "cmd+u",
|
|
||||||
"command": "workbench.action.showAllSymbols"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "cmd+r",
|
|
||||||
"command": "editor.action.startFindReplaceAction",
|
|
||||||
"when": "editorFocus && findInputFocussed"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "shift+cmd+w",
|
|
||||||
"command": "workbench.action.closeAllGroups"
|
|
||||||
},
|
|
||||||
// ----------------- 4. REMOVED SHORTCUTS ----------------
|
|
||||||
{
|
|
||||||
"key": "cmd+d",
|
|
||||||
"command": "-editor.action.addSelectionToNextFindMatch",
|
|
||||||
"when": "editorFocus"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "shift+alt+down",
|
|
||||||
"command": "-editor.action.copyLinesDownAction",
|
|
||||||
"when": "editorTextFocus && !editorReadonly"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "cmd+t",
|
|
||||||
"command": "-workbench.action.showAllSymbols"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "cmd+u",
|
|
||||||
"command": "-cursorUndo",
|
|
||||||
"when": "textInputFocus"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "cmd+k down",
|
|
||||||
"command": "-workbench.action.moveActiveEditorGroupDown"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "cmd+k left",
|
|
||||||
"command": "-workbench.action.moveActiveEditorGroupLeft"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "cmd+k right",
|
|
||||||
"command": "-workbench.action.moveActiveEditorGroupRight"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "cmd+k up",
|
|
||||||
"command": "-workbench.action.moveActiveEditorGroupUp"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "alt+enter",
|
|
||||||
"command": "-notebook.cell.executeAndInsertBelow",
|
|
||||||
"when": "notebookCellListFocused && notebookCellType == 'markup' || notebookCellListFocused && notebookMissingKernelExtension && !notebookCellExecuting && notebookCellType == 'code' || notebookCellListFocused && !notebookCellExecuting && notebookCellType == 'code' && notebookKernelCount > 0 || notebookCellListFocused && !notebookCellExecuting && notebookCellType == 'code' && notebookKernelSourceCount > 0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "alt+enter",
|
|
||||||
"command": "-debug.openBreakpointToSide",
|
|
||||||
"when": "breakpointsFocused"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "f2",
|
|
||||||
"command": "-editor.action.rename",
|
|
||||||
"when": "editorHasRenameProvider && editorTextFocus && !editorReadonly"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "shift+cmd+r",
|
|
||||||
"command": "-rerunSearchEditorSearch",
|
|
||||||
"when": "inSearchEditor"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "shift+cmd+w",
|
|
||||||
"command": "-workbench.action.closeWindow"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "cmd+k shift+cmd+w",
|
|
||||||
"command": "-workbench.action.closeAllGroups"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "shift+cmd+d",
|
|
||||||
"command": "-workbench.view.debug",
|
|
||||||
"when": "viewContainer.workbench.view.debug.enabled"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "f12",
|
|
||||||
"command": "-editor.action.revealDefinition",
|
|
||||||
"when": "editorHasDefinitionProvider && editorTextFocus && !isInEmbeddedEditor"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "shift+cmd+[Comma] cmd+i",
|
|
||||||
"command": "-testing.toggleInlineTestOutput"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "shift+cmd+i",
|
|
||||||
"command": "-workbench.action.quickchat.toggle",
|
|
||||||
"when": "hasChatProvider"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "shift+cmd+[Comma] shift+cmd+i",
|
|
||||||
"command": "-testing.toggleInlineCoverage",
|
|
||||||
"when": "testing.isTestCoverageOpen"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "cmd+f12",
|
|
||||||
"command": "-editor.action.goToImplementation",
|
|
||||||
"when": "editorHasImplementationProvider && editorTextFocus && !isInEmbeddedEditor"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"key": "shift+cmd+f12",
|
|
||||||
"command": "-editor.action.peekImplementation",
|
|
||||||
"when": "editorHasImplementationProvider && editorTextFocus && !inReferenceSearchEditor && !isInEmbeddedEditor"
|
|
||||||
},
|
|
||||||
]
|
|
||||||
160
zsh/.zshrc
@@ -1,160 +0,0 @@
|
|||||||
# If you come from bash you might have to change your $PATH.
|
|
||||||
# export PATH=$HOME/bin:/usr/local/bin:$PATH
|
|
||||||
|
|
||||||
# Path to your oh-my-zsh installation.
|
|
||||||
export ZSH="$HOME/.oh-my-zsh"
|
|
||||||
|
|
||||||
# Set name of the theme to load --- if set to "random", it will
|
|
||||||
# load a random theme each time oh-my-zsh is loaded, in which case,
|
|
||||||
# to know which specific one was loaded, run: echo $RANDOM_THEME
|
|
||||||
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
|
|
||||||
ZSH_THEME="gentoo"
|
|
||||||
|
|
||||||
# Set list of themes to pick from when loading at random
|
|
||||||
# Setting this variable when ZSH_THEME=random will cause zsh to load
|
|
||||||
# a theme from this variable instead of looking in $ZSH/themes/
|
|
||||||
# If set to an empty array, this variable will have no effect.
|
|
||||||
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
|
|
||||||
|
|
||||||
# Uncomment the following line to use case-sensitive completion.
|
|
||||||
# CASE_SENSITIVE="true"
|
|
||||||
|
|
||||||
# Uncomment the following line to use hyphen-insensitive completion.
|
|
||||||
# Case-sensitive completion must be off. _ and - will be interchangeable.
|
|
||||||
# HYPHEN_INSENSITIVE="true"
|
|
||||||
|
|
||||||
# Uncomment one of the following lines to change the auto-update behavior
|
|
||||||
# zstyle ':omz:update' mode disabled # disable automatic updates
|
|
||||||
# zstyle ':omz:update' mode auto # update automatically without asking
|
|
||||||
# zstyle ':omz:update' mode reminder # just remind me to update when it's time
|
|
||||||
|
|
||||||
# Uncomment the following line to change how often to auto-update (in days).
|
|
||||||
# zstyle ':omz:update' frequency 13
|
|
||||||
|
|
||||||
# Uncomment the following line if pasting URLs and other text is messed up.
|
|
||||||
# DISABLE_MAGIC_FUNCTIONS="true"
|
|
||||||
|
|
||||||
# Uncomment the following line to disable colors in ls.
|
|
||||||
# DISABLE_LS_COLORS="true"
|
|
||||||
|
|
||||||
# Uncomment the following line to disable auto-setting terminal title.
|
|
||||||
# DISABLE_AUTO_TITLE="true"
|
|
||||||
|
|
||||||
# Uncomment the following line to enable command auto-correction.
|
|
||||||
# ENABLE_CORRECTION="true"
|
|
||||||
|
|
||||||
# Uncomment the following line to display red dots whilst waiting for completion.
|
|
||||||
# You can also set it to another string to have that shown instead of the default red dots.
|
|
||||||
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
|
|
||||||
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
|
|
||||||
# COMPLETION_WAITING_DOTS="true"
|
|
||||||
|
|
||||||
# Uncomment the following line if you want to disable marking untracked files
|
|
||||||
# under VCS as dirty. This makes repository status check for large repositories
|
|
||||||
# much, much faster.
|
|
||||||
DISABLE_UNTRACKED_FILES_DIRTY="true"
|
|
||||||
|
|
||||||
# Uncomment the following line if you want to change the command execution time
|
|
||||||
# stamp shown in the history command output.
|
|
||||||
# You can set one of the optional three formats:
|
|
||||||
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
|
|
||||||
# or set a custom format using the strftime function format specifications,
|
|
||||||
# see 'man strftime' for details.
|
|
||||||
# HIST_STAMPS="mm/dd/yyyy"
|
|
||||||
|
|
||||||
# Would you like to use another custom folder than $ZSH/custom?
|
|
||||||
# ZSH_CUSTOM=/path/to/new-custom-folder
|
|
||||||
|
|
||||||
# Which plugins would you like to load?
|
|
||||||
# Standard plugins can be found in $ZSH/plugins/
|
|
||||||
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
|
|
||||||
# Example format: plugins=(rails git textmate ruby lighthouse)
|
|
||||||
# Add wisely, as too many plugins slow down shell startup.
|
|
||||||
plugins=(git zsh-autosuggestions macos pip pyenv docker autojump colorize copyfile brew)
|
|
||||||
|
|
||||||
source $ZSH/oh-my-zsh.sh
|
|
||||||
|
|
||||||
# User configuration
|
|
||||||
|
|
||||||
# export MANPATH="/usr/local/man:$MANPATH"
|
|
||||||
|
|
||||||
# You may need to manually set your language environment
|
|
||||||
# export LANG=en_US.UTF-8
|
|
||||||
|
|
||||||
# Preferred editor for local and remote sessions
|
|
||||||
if [[ -n $SSH_CONNECTION ]]; then
|
|
||||||
export EDITOR='nano'
|
|
||||||
else
|
|
||||||
export EDITOR='code'
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Compilation flags
|
|
||||||
# export ARCHFLAGS="-arch x86_64"
|
|
||||||
|
|
||||||
# Set personal aliases, overriding those provided by oh-my-zsh libs,
|
|
||||||
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
|
|
||||||
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
|
|
||||||
# For a full list of active aliases, run `alias`.
|
|
||||||
#
|
|
||||||
# Example aliases
|
|
||||||
# alias zshconfig="mate ~/.zshrc"
|
|
||||||
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
|
||||||
|
|
||||||
export PYENV_ROOT="$HOME/.pyenv"
|
|
||||||
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
|
|
||||||
eval "$(pyenv init -)"
|
|
||||||
eval "$(pyenv virtualenv-init -)"
|
|
||||||
|
|
||||||
# Command aliases
|
|
||||||
alias py=python3
|
|
||||||
alias ll="ls -lah"
|
|
||||||
|
|
||||||
# Custom scripts
|
|
||||||
export PATH="/Users/paul/Code/scripts:$PATH"
|
|
||||||
|
|
||||||
# Shortcuts
|
|
||||||
export ONEDRIVE="/Users/paul/Library/CloudStorage/OneDrive-Personal/"
|
|
||||||
export VSCODE_USER=~/Library/Application\ Support/Code/User
|
|
||||||
alias korrektur="$EDITOR /Volumes/pauls-dateien/uni/GBS\ Tutorjob/Y3/Korrektur"
|
|
||||||
alias sshconfig="$EDITOR ~/.ssh/config"
|
|
||||||
alias zshconfig="$EDITOR ~/.zshrc"
|
|
||||||
alias zshreload="source ~/.zshrc"
|
|
||||||
alias zshsource="source ~/.zshrc"
|
|
||||||
alias home="cd ~"
|
|
||||||
alias userchrome="$EDITOR /Users/paul/Library/Application\ Support/Firefox/Profiles/k37hu3wo.default-release/chrome/userChrome.css"
|
|
||||||
alias kw='echo Current Week: $((10#$(date +"%V")))'
|
|
||||||
alias wol=wakeonlan
|
|
||||||
|
|
||||||
# Python tkinter stuff
|
|
||||||
export PATH="/usr/local/opt/tcl-tk/bin:$PATH"
|
|
||||||
|
|
||||||
# autojump
|
|
||||||
[ -f /opt/homebrew/etc/profile.d/autojump.sh ] && . /opt/homebrew/etc/profile.d/autojump.sh
|
|
||||||
|
|
||||||
# spicetify
|
|
||||||
alias sba="spicetify backup apply"
|
|
||||||
|
|
||||||
# bitwarden-cli
|
|
||||||
alias bw='NODE_OPTIONS="--no-deprecation" bw'
|
|
||||||
|
|
||||||
# connect to smb shares
|
|
||||||
alias mount-ds='[ -e "/Volumes/pauls-dateien" ] || open "smb://paul@192.168.193.68/pauls-dateien"'
|
|
||||||
|
|
||||||
# vscode shortcuts
|
|
||||||
alias ma="code --folder-uri=vscode-remote://ssh-remote+sralab/home/2021/pau.aumann/ma"
|
|
||||||
alias ws="code ~/Code/wasteside-v2"
|
|
||||||
|
|
||||||
# iTerm2 integration
|
|
||||||
source ~/.iterm2_shell_integration.zsh
|
|
||||||
|
|
||||||
# history
|
|
||||||
HISTFILE=~/.histfile
|
|
||||||
HISTSIZE=10000
|
|
||||||
SAVEHIST=10000
|
|
||||||
|
|
||||||
# zoxide
|
|
||||||
eval "$(zoxide init --cmd cd zsh)"
|
|
||||||
|
|
||||||
# SDKMAN & Java
|
|
||||||
export SDKMAN_DIR="$HOME/.sdkman"
|
|
||||||
[[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh"
|
|
||||||