Compare commits

...

10 Commits

65 changed files with 322 additions and 301 deletions

View File

@@ -65,9 +65,6 @@ misc {
#############
# https://wiki.hyprland.org/Configuring/Variables/#gestures
gestures {
workspace_swipe = false
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
@@ -130,3 +127,8 @@ windowrulev2 = suppressevent maximize, class:.*
# Fix some dragging issues with XWayland
windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
ecosystem {
no_donation_nag = true,
no_update_news = true
}

2
.config/nvim/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
# secrets for nvim
lua/secrets/*.lua

View File

@@ -34,3 +34,6 @@ If just starting / want to learn vim motions and not vim, the IDE / the LSP is c
- [UndoTree](https://github.com/mbbill/undotree) - Undo History Visualizer
- [vim-fugitive](https://github.com/tpope/vim-fugitive) - Git Wrapper
- [fidget](https://github.com/j-hui/fidget.nvim) - Notification & Messages

View File

@@ -0,0 +1,26 @@
{
"cmp-nvim-lsp": { "branch": "main", "commit": "bd5a7d6db125d4654b50eeae9f5217f24bb22fd3" },
"codecompanion.nvim": { "branch": "main", "commit": "79cc678ca5f79a5ed04affa73116cb9bbe41bb12" },
"dashboard-nvim": { "branch": "master", "commit": "c42fcfbd96dfcaa486c0a0ab52494316f1c31350" },
"fidget.nvim": { "branch": "main", "commit": "4d5858bd4c471c895060e1b9f3575f1551184dc5" },
"harpoon": { "branch": "harpoon2", "commit": "ed1f853847ffd04b2b61c314865665e1dadf22c7" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "1ec4da522fa49dcecee8d190efda273464dd2192" },
"mason.nvim": { "branch": "main", "commit": "7dc4facca9702f95353d5a1f87daf23d78e31c2a" },
"mini.nvim": { "branch": "main", "commit": "0069a71538020a77a19f4f8d5e89f066e264a6dc" },
"nvim-autopairs": { "branch": "master", "commit": "23320e75953ac82e559c610bec5a90d9c6dfa743" },
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
"nvim-lspconfig": { "branch": "master", "commit": "ce45ccd6a97be8752ed83d1e14ac2aff1d5a4238" },
"nvim-notify": { "branch": "master", "commit": "397c7c1184745fca649e5104de659e6392ef5a4d" },
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"nvim-treesitter-context": { "branch": "master", "commit": "dca8726fea2c14e1ce6adbaa76a04816fbfaff61" },
"nvim-web-devicons": { "branch": "master", "commit": "c2599a81ecabaae07c49ff9b45dcd032a8d90f1a" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"render-markdown.nvim": { "branch": "main", "commit": "0087ee1d505d4fc4886d8d3121ae7848b7c0e49b" },
"rose-pine": { "branch": "main", "commit": "72befaffeac38db7bdd49e0549eaa2c4806dd878" },
"telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" },
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
"undotree": { "branch": "master", "commit": "28f2f54a34baff90ea6f4a735ef1813ad875c743" },
"vim-fugitive": { "branch": "master", "commit": "61b51c09b7c9ce04e821f6cf76ea4f6f903e3cf4" },
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
}

View File

@@ -0,0 +1,94 @@
local secrets = require('secrets.codecompanion')
return {
"olimorris/codecompanion.nvim",
opts = {
strategies = {
-- Change Default Adapter
chat = {
adapter = "openai_mini",
},
inline = {
adapter = "local_test",
keymaps = {
accept_change = {
modes = { n = "ga" },
description = "Accept the suggested change",
},
reject_change = {
modes = { n = "gr" },
description = "Reject the suggested change",
},
},
},
},
adapters = {
openai_mini = function()
return require("codecompanion.adapters").extend("openai", {
name = "openai_mini",
schema = {
model = {
default = "gpt-4.1-mini"
}
},
env = {
api_key = secrets.openai_api_key
}
})
end,
local_test = function()
return require("codecompanion.adapters").extend("ollama", {
name = "local_test",
schema = {
model = {
default = "gemma3:4b"
},
num_ctx = {
default = 16384,
},
num_predict = {
default = -1,
},
},
})
end,
local_best = function()
return require("codecompanion.adapters").extend("ollama", {
name = "local_best",
schema = {
model = {
default = "qwen3:4b"
},
num_ctx = {
default = 16384,
},
num_predict = {
default = -1,
},
},
})
end,
local_fast = function()
return require("codecompanion.adapters").extend("ollama", {
name = "local_fast",
schema = {
model = {
default = "llama3.2:3b"
},
num_ctx = {
default = 16384,
},
num_predict = {
default = -1,
},
},
})
end,
},
},
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-treesitter/nvim-treesitter",
},
}

View File

@@ -0,0 +1,7 @@
return {
'MeanderingProgrammer/render-markdown.nvim',
dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.nvim' }, -- if you use the mini.nvim suite
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.icons' }, -- if you use standalone mini plugins
-- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons
opts = {},
}

View File

@@ -7,9 +7,7 @@ return {
local treesitter_languages = require("configs.treesitter-langs")
configs.setup({
ensure_installed = {
treesitter_languages
},
ensure_installed = treesitter_languages,
sync_install = false,

View File

@@ -0,0 +1,3 @@
return {
openai_api_key = "your_own_api_key"
}

29
.config/rofi/config.rasi Normal file
View File

@@ -0,0 +1,29 @@
configuration {
modi: "drun,run,combi";
combi-modi: "drun,run";
show-icons: true;
icon-theme: "Papirus";
display-drun: "Apps";
display-run: "Exec";
display-combi: "Search";
font: "FiraMonoNerdFont-Regular 8";
/* Behavior */
cycle: true;
eh: 2;
auto-select: false;
matching: "fuzzy";
/* Scrolling */
scroll-method: 1;
/* Performance */
/* cache-dir: "/tmp/rofi_cache"; */
/* Sorting */
/* sorting-method: "alphabetical"; */
max-history-size: 25;
}
@theme "theme.rasi"

79
.config/rofi/theme.rasi Normal file
View File

@@ -0,0 +1,79 @@
* {
bg: #000000FF;
bg-alt: #292f45;
bg-selected: #c50ed2;
fg: #FFFFFF;
fg-alt: #7f849c;
border: 0;
margin: 0;
padding: 0;
spacing: 0;
}
window {
width: 20%;
background-color: @bg;
border-radius: 18px;
border: 2px solid;
border-color: @fg-alt;
}
element {
padding: 8 12;
background-color: transparent;
text-color: @fg-alt;
}
element selected {
text-color: @fg;
background-color: @bg-selected;
}
element-text {
background-color: transparent;
text-color: inherit;
vertical-align: 0.5;
}
element-icon {
size: 20;
padding: 0 10 0 0;
background-color: transparent;
}
entry {
padding: 12;
background-color: @bg-alt;
text-color: @fg;
placeholder: "...";
placeholder-color: @fg-alt;
}
inputbar {
children: [prompt, entry];
background-color: @bg;
}
listview {
background-color: @bg;
columns: 1;
lines: 5;
dynamic: true;
}
mainbox {
children: [inputbar, listview];
background-color: @bg;
}
prompt {
enabled: true;
padding: 12 0 0 12;
background-color: @bg-alt;
text-color: @fg;
}
/* vim: ft=sass

View File

@@ -6,6 +6,7 @@
//"spacing": 4, // Gaps between modules (4px)
// Choose the order of the modules
"modules-left": [
"clock",
"hyprland/window"
],
"modules-center": [
@@ -28,25 +29,30 @@
"battery",
"battery#bat2",
"tray",
"clock",
"custom/power"
],
// Modules configuration
"hyprland/window": {
"separate-outputs": false,
"icon": true,
"icon-size": 16
},
"hyprland/workspaces": {
//"disable-scroll": true,
"all-outputs": true,
"warp-on-scroll": false,
//"format": "{name}: {icon}",
"format": "{name}: {icon}",
"format": "[{name}: {icon}]",
"format-window-separator": "\n",
"format-icons": {
"1": " Work", // Current Work / Task
"2": " Docs", // Documentation
"3": "🌐 Browser", // Browser
"4": " Term", // Console / Batch
"4": " Term", // Console / Batch
"5": "🎮 Fun", // Fun / Leisure
"6": " Comms", // Communication
"7": "",
//"active": "",
"active": "",
"urgent": "",
"focused": "",
"default": ""
@@ -112,36 +118,69 @@
},
"tray": {
// "icon-size": 21,
"s10pacing": 5
"spacing": 5
},
"clock": {
// "timezone": "America/New_York",
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
"format-alt": "{:%Y-%m-%d}",
//"format": "{:L%Y-%m-%d<small> [%a]</small> %H:%M}"
"format": "{:%H:%M}",
"spacing": 5
"format": "{:%a %H:%M}",
//"format": "{:L%Y-%m-%d<small> [%a]</small> %H:%M}",
"format-alt": "{:%H:%M [%a] [%d/%m/%Y]}",
"spacing": 5,
"calendar": {
"mode" : "year",
"mode-mon-col" : 3,
"weeks-pos" : "left",
"on-scroll" : 1,
"format": {
"months": "<span color='#ffead3'><b>{}</b></span>",
"days": "<span color='#ecc6d9'><b>{}</b></span>",
"weeks": "<span color='#99ffdd'><b>{}</b></span>",
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
"today": "<span color='#ff6699'><b><u>{}</u></b></span>"
}
},
"actions": {
"on-click-right": "mode",
"on-scroll-up": "tz_up",
"on-scroll-down": "tz_down",
"on-scroll-up": "shift_up",
"on-scroll-down": "shift_down"
}
},
"cpu": {
"format": " {usage}%",
"spacing": 5
// "tooltip": false
"interval": 10,
"format": "[{usage}% {icon}]",
"format-icons": [
"<span color='#69ff94'>▁</span>", // green
"<span color='#2aa9ff'>▂</span>", // blue
"<span color='#f8f8f2'>▃</span>", // white
"<span color='#f8f8f2'>▄</span>", // white
"<span color='#ffffa5'>▅</span>", // yellow
"<span color='#ffffa5'>▆</span>", // yellow
"<span color='#ff9977'>▇</span>", // orange
"<span color='#dd532e'>█</span>" // red
]
},
"memory": {
"format": " {}%"
//"format": " {}%",
"interval": 30,
"format": "[{used:0.1f}G 🐏 {percentage}%]"
},
"temperature": {
"thermal-zone": 2,
"hwmon-path": "/sys/class/hwmon/hwmon1/temp2_input",
"critical-threshold": 80,
"format-critical": "{icon} {temperatureC}°C",
"format": "{icon} {temperatureC}°C",
"format-icons": ["", "", ""]
"format-critical": "{icon} {temperatureC}°C {icon}",
"format": "[{icon} {temperatureC}°C]",
"format-icons": ["❄️", "", "", "", "🔥"]
},
"backlight": {
// "device": "acpi_video1",
"format": "{icon} {percent}%",
"format-icons": ["", "", "", "", "", "", "", "", ""]
"format-icons": ["", "", "", "", "", "", "", "", ""],
"interval": 10,
"scroll-step": 10
},
"battery": {
"states": {
@@ -162,19 +201,19 @@
},
"network": {
// "interface": "wlp2*", // (Optional) To force the use of this interface
"format-wifi": "{essid} ({signalStrength}%) ",
"format-ethernet": " {ifname}",
"tooltip-format": " {ifname} via {gwaddr}",
"format-linked": " {ifname} (No IP)",
"format-disconnected": "Disconnected ⚠ {ifname}",
"format-alt": " {ifname}: {ipaddr}/{cidr}"
"format-wifi": "[{essid} ({signalStrength}%) ]",
"format-ethernet": "[🌐 {ifname}]",
"tooltip-format": "[🌐 {ifname} via {gwaddr}]",
"format-linked": "[🚫 {ifname} (No IP)]",
"format-disconnected": "[Disconnected ⚠ {ifname}]",
"format-alt": "[🌐 {ifname}: {ipaddr}/{cidr}]"
},
"pulseaudio": {
"scroll-step": 5, // %, can be a float
"format": "{icon} {volume}% {format_source}",
"format-bluetooth": " {icon} {volume}% {format_source}",
"format-bluetooth-muted": "  {icon} {format_source}",
"format-muted": " {format_source}",
"format": "[{icon} {volume}% {format_source} ]",
"format-bluetooth": "[ {icon} {volume}% {format_source} ]",
"format-bluetooth-muted": "[🔇  {icon} {format_source} ]",
"format-muted": "[🔇 {format_source} ]",
"format-source": " {volume}%",
"format-source-muted": "",
"format-icons": {
@@ -202,14 +241,14 @@
// "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name
},
"power-profiles-daemon": {
"format": "{icon} ",
"format": "[{icon}]",
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
"tooltip": true,
"format-icons": {
"default": "",
"performance": "",
"balanced": "",
"power-saver": ""
"default": "",
"performance": "",
"balanced": "⚖️",
"power-saver": "🔋"
}
},
"custom/power": {

View File

@@ -1,16 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<object class="GtkMenu" id="menu">
<child>
<object class="GtkMenuItem" id="suspend">
<property name="label">Suspend</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="hibernate">
<property name="label">Hibernate</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="shutdown">
<property name="label">Shutdown</property>

View File

@@ -97,8 +97,8 @@ button:hover {
#scratchpad,
#mpd {
margin: 2px;
padding-left: 4px;
padding-right: 4px;
padding-left: 2px;
padding-right: 2px;
background-color: rgba(0,0,0,0.3);
color: #ffffff;
}

View File

@@ -1,23 +0,0 @@
{
"cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" },
"dashboard-nvim": { "branch": "master", "commit": "000448d837f6e7a47f8f342f29526c4d7e49e9ce" },
"fidget.nvim": { "branch": "main", "commit": "d9ba6b7bfe29b3119a610892af67602641da778e" },
"harpoon": { "branch": "harpoon2", "commit": "ed1f853847ffd04b2b61c314865665e1dadf22c7" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
"nvim-autopairs": { "branch": "master", "commit": "68f0e5c3dab23261a945272032ee6700af86227a" },
"nvim-cmp": { "branch": "main", "commit": "5a11682453ac6b13dbf32cd403da4ee9c07ef1c3" },
"nvim-lspconfig": { "branch": "master", "commit": "5344e00b86d1ea50c39a1da8af9f3d197234bcfe" },
"nvim-notify": { "branch": "master", "commit": "22f29093eae7785773ee9d543f8750348b1a195c" },
"nvim-treesitter": { "branch": "master", "commit": "8bc635a25f581d42b0a0e5ba8870bd73244dcdea" },
"nvim-treesitter-context": { "branch": "master", "commit": "198720b4016af04c9590f375d714d5bf8afecc1a" },
"nvim-web-devicons": { "branch": "master", "commit": "1020869742ecb191f260818234517f4a1515cfe8" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"rose-pine": { "branch": "main", "commit": "7718965bdd1526b233f082da17e88b8bde7a7e6e" },
"telescope.nvim": { "branch": "master", "commit": "814f102cd1da3dc78c7d2f20f2ef3ed3cdf0e6e4" },
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
"undotree": { "branch": "master", "commit": "2556c6800b210b2096b55b66e74b4cc1d9ebbe4f" },
"vim-fugitive": { "branch": "master", "commit": "4a745ea72fa93bb15dd077109afbb3d1809383f2" },
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
}

View File

@@ -1,159 +0,0 @@
configuration {
modes: "window,drun,run,ssh,combi";
font: "mono 8";
show-icons: true;
/* location: 0;*/
/* yoffset: 0;*/
/* xoffset: 0;*/
/* fixed-num-lines: true;*/
/* preview-cmd: ;*/
/* terminal: "rofi-sensible-terminal";*/
/* ssh-client: "ssh";*/
/* ssh-command: "{terminal} -e {ssh-client} {host} [-p {port}]";*/
/* run-command: "{cmd}";*/
/* run-list-command: "";*/
/* run-shell-command: "{terminal} -e {cmd}";*/
/* window-command: "wmctrl -i -R {window}";*/
/* window-match-fields: "all";*/
/* icon-theme: ;*/
/* drun-match-fields: "name,generic,exec,categories,keywords";*/
/* drun-categories: ;*/
/* drun-show-actions: false;*/
/* drun-display-format: "{name} [<span weight='light' size='small'><i>({generic})</i></span>]";*/
/* drun-url-launcher: "xdg-open";*/
/* disable-history: false;*/
/* ignored-prefixes: "";*/
/* sort: false;*/
/* sorting-method: "normal";*/
/* case-sensitive: false;*/
/* cycle: true;*/
/* sidebar-mode: false;*/
/* hover-select: false;*/
/* eh: 1;*/
/* auto-select: false;*/
/* parse-hosts: false;*/
/* parse-known-hosts: true;*/
/* combi-modes: "window,run";*/
/* matching: "normal";*/
/* tokenize: true;*/
/* m: "-5";*/
/* filter: ;*/
/* dpi: -1;*/
/* threads: 0;*/
/* scroll-method: 0;*/
/* window-format: "{w} {c} {t}";*/
/* click-to-exit: true;*/
/* global-kb: false;*/
/* max-history-size: 25;*/
/* combi-hide-mode-prefix: false;*/
/* combi-display-format: "{mode} {text}";*/
/* matching-negate-char: '-' /* unsupported */;*/
/* cache-dir: ;*/
/* window-thumbnail: false;*/
/* drun-use-desktop-cache: false;*/
/* drun-reload-desktop-cache: false;*/
/* normalize-match: false;*/
/* steal-focus: false;*/
/* application-fallback-icon: ;*/
/* refilter-timeout-limit: 300;*/
/* xserver-i300-workaround: false;*/
/* completer-mode: "filebrowser";*/
/* pid: "/run/user/1000/rofi.pid";*/
/* display-window: ;*/
/* display-run: ;*/
/* display-ssh: ;*/
/* display-drun: ;*/
/* display-combi: ;*/
/* display-keys: ;*/
/* display-filebrowser: ;*/
/* display-recursivebrowser: ;*/
/* kb-primary-paste: "Control+V,Shift+Insert";*/
/* kb-secondary-paste: "Control+v,Insert";*/
/* kb-secondary-copy: "Control+c";*/
/* kb-clear-line: "Control+w";*/
/* kb-move-front: "Control+a";*/
/* kb-move-end: "Control+e";*/
/* kb-move-word-back: "Alt+b,Control+Left";*/
/* kb-move-word-forward: "Alt+f,Control+Right";*/
/* kb-move-char-back: "Left,Control+b";*/
/* kb-move-char-forward: "Right,Control+f";*/
/* kb-remove-word-back: "Control+Alt+h,Control+BackSpace";*/
/* kb-remove-word-forward: "Control+Alt+d";*/
/* kb-remove-char-forward: "Delete,Control+d";*/
/* kb-remove-char-back: "BackSpace,Shift+BackSpace,Control+h";*/
/* kb-remove-to-eol: "Control+k";*/
/* kb-remove-to-sol: "Control+u";*/
/* kb-accept-entry: "Control+j,Control+m,Return,KP_Enter";*/
/* kb-accept-custom: "Control+Return";*/
/* kb-accept-custom-alt: "Control+Shift+Return";*/
/* kb-accept-alt: "Shift+Return";*/
/* kb-delete-entry: "Shift+Delete";*/
/* kb-mode-next: "Shift+Right,Control+Tab";*/
/* kb-mode-previous: "Shift+Left,Control+ISO_Left_Tab";*/
/* kb-mode-complete: "Control+l";*/
/* kb-row-left: "Control+Page_Up";*/
/* kb-row-right: "Control+Page_Down";*/
/* kb-row-up: "Up,Control+p";*/
/* kb-row-down: "Down,Control+n";*/
/* kb-row-tab: "";*/
/* kb-element-next: "Tab";*/
/* kb-element-prev: "ISO_Left_Tab";*/
/* kb-page-prev: "Page_Up";*/
/* kb-page-next: "Page_Down";*/
/* kb-row-first: "Home,KP_Home";*/
/* kb-row-last: "End,KP_End";*/
/* kb-row-select: "Control+space";*/
/* kb-screenshot: "Alt+S";*/
/* kb-ellipsize: "Alt+period";*/
/* kb-toggle-case-sensitivity: "grave,dead_grave";*/
/* kb-toggle-sort: "Alt+grave";*/
/* kb-cancel: "Escape,Control+g,Control+bracketleft";*/
/* kb-custom-1: "Alt+1";*/
/* kb-custom-2: "Alt+2";*/
/* kb-custom-3: "Alt+3";*/
/* kb-custom-4: "Alt+4";*/
/* kb-custom-5: "Alt+5";*/
/* kb-custom-6: "Alt+6";*/
/* kb-custom-7: "Alt+7";*/
/* kb-custom-8: "Alt+8";*/
/* kb-custom-9: "Alt+9";*/
/* kb-custom-10: "Alt+0";*/
/* kb-custom-11: "Alt+exclam";*/
/* kb-custom-12: "Alt+at";*/
/* kb-custom-13: "Alt+numbersign";*/
/* kb-custom-14: "Alt+dollar";*/
/* kb-custom-15: "Alt+percent";*/
/* kb-custom-16: "Alt+dead_circumflex";*/
/* kb-custom-17: "Alt+ampersand";*/
/* kb-custom-18: "Alt+asterisk";*/
/* kb-custom-19: "Alt+parenleft";*/
/* kb-select-1: "Super+1";*/
/* kb-select-2: "Super+2";*/
/* kb-select-3: "Super+3";*/
/* kb-select-4: "Super+4";*/
/* kb-select-5: "Super+5";*/
/* kb-select-6: "Super+6";*/
/* kb-select-7: "Super+7";*/
/* kb-select-8: "Super+8";*/
/* kb-select-9: "Super+9";*/
/* kb-select-10: "Super+0";*/
/* kb-entry-history-up: "Control+Up";*/
/* kb-entry-history-down: "Control+Down";*/
/* ml-row-left: "ScrollLeft";*/
/* ml-row-right: "ScrollRight";*/
/* ml-row-up: "ScrollUp";*/
/* ml-row-down: "ScrollDown";*/
/* me-select-entry: "MousePrimary";*/
/* me-accept-entry: "MouseDPrimary";*/
/* me-accept-custom: "Control+MouseDPrimary";*/
timeout {
action: "kb-cancel";
delay: 0;
}
filebrowser {
directories-first: true;
sorting-method: "name";
}
}
@theme "arthur"

View File

@@ -1,42 +0,0 @@
#!/bin/bash
# Load the pairs from the JSON file
pairs=$(jq -r '.[] | "\(.source)=\(.destination)=\(.type)"' deployment_playbook.json)
# Loop through the pairs and copy the source to the destination
for pair in ${pairs[@]}; do
# Split the pair into source and destination
IFS='=' read -ra pair_array <<< "$pair"
source=$(echo "${pair_array[0]}" | sed 's/\\"/"/g')
destination=$(echo "${pair_array[1]}" | sed 's/\\"/"/g')
type=$(echo "${pair_array[2]}" | sed 's/\\"/"/g')
# Expand ~ if used in the destination
destination="${destination/#\~/$HOME}"
# Check if the destination already exists
if [ -e "$destination" ]; then
# Backup the destination based on the type
if [ "$type" == "append" ]; then
echo "Backing up $destination to $destination.backup (cp -r)"
cp -r "$destination" "$destination.backup"
elif [ "$type" == "replace" ]; then
echo "Backing up $destination to $destination.backup (mv)"
mv "$destination" "$destination.backup"
else
echo "Invalid type: $type"
continue
fi
fi
# Create the directory up to the destination path if it doesn't exist
destination_dir=$(dirname "$destination")
if [ ! -d "$destination_dir" ]; then
echo "Creating directory: $destination_dir"
mkdir -p "$destination_dir"
fi
# Copy the source to the destination
echo "Copying $source to $destination"
cp -r "$source" "$destination"
done

View File

@@ -1,27 +0,0 @@
[
{
"source": "config/nvim",
"destination": "~/.config/nvim",
"type": "replace"
},
{
"source": "oh-my-zsh/custom",
"destination": "~/.oh-my-zsh/custom",
"type": "replace"
},
{
"source": "home/tmux.conf",
"destination": "~/.tmux.conf",
"type": "replace"
},
{
"source": "home/gitconfig",
"destination": "~/.gitconfig",
"type": "replace"
},
{
"source": "local/scripts",
"destination" : "~/.local/scripts",
"type": "replace"
}
]