Compare commits
243 commits
Author | SHA1 | Date | |
---|---|---|---|
|
5fdd205dd4 | ||
|
9c9ef088e9 | ||
|
25ba4940ad | ||
|
79c577e741 | ||
|
a2e3320007 | ||
|
dfda443254 | ||
|
801147b4b3 | ||
|
96cdf0bfc1 | ||
|
311afc8ab5 | ||
|
8f328314c7 | ||
210666700f | |||
e336a65b27 | |||
|
1d5091d0ea | ||
|
c2b4d218e1 | ||
|
2001d7c134 | ||
|
433bcff290 | ||
|
4253af6070 | ||
|
b1e9cbf32a | ||
|
8419b5e547 | ||
|
63b7d63120 | ||
|
3f22ca2fab | ||
|
6fa4e63bee | ||
|
6879351865 | ||
|
7c94414b1e | ||
|
5d5402f1b3 | ||
|
eb10c26ac2 | ||
|
4e4d30fc8b | ||
|
ebd5a2627f | ||
|
8158ddb2a2 | ||
|
fbf5500013 | ||
|
4043a451be | ||
|
f43db4d7a9 | ||
|
2c7fa84ca0 | ||
|
bac35f5254 | ||
|
c4d46e4cf8 | ||
|
140083567d | ||
|
bd3cbd1c20 | ||
|
978d153b9f | ||
|
6e4efd8af6 | ||
|
156094a9ce | ||
|
c8c40ec1b4 | ||
|
9d55d3faaf | ||
|
30dbbf3052 | ||
|
ffe6698ac4 | ||
|
ebc4b51cbe | ||
|
8a959fba18 | ||
|
da9c2eb765 | ||
|
2c953705f6 | ||
|
9458fb3129 | ||
|
49001711a8 | ||
77d8ad2b8a | |||
7c9a23b37f | |||
dcf6843593 | |||
9a3375a26e | |||
ef96a4aa91 | |||
33482938c1 | |||
014dadb86b | |||
54c335c378 | |||
|
f5f0261f44 | ||
|
cbdd1ecf16 | ||
|
1326d04bdf | ||
|
740ad06041 | ||
|
c40ba9f00b | ||
|
0980c627ea | ||
|
731e57b71d | ||
|
4bad5a9749 | ||
|
cc6d7a300a | ||
|
98033d9a8b | ||
|
1a4f0fbf24 | ||
|
1ac4972841 | ||
|
5455912565 | ||
|
127a9d7f9f | ||
|
ec686cdcd3 | ||
|
a9f97569a5 | ||
|
0c2859a39d | ||
|
6efcae5172 | ||
|
870991d993 | ||
|
17dc3cb9a1 | ||
|
81541a0486 | ||
|
c71fde1a01 | ||
|
ffe4446da4 | ||
|
c4dc8aa902 | ||
|
df9619122c | ||
|
8dfabd16d6 | ||
|
71068e75af | ||
|
9359e764d8 | ||
|
dbcf9e2208 | ||
|
8e565f08c9 | ||
|
fb18e89b6d | ||
|
ddf0c94016 | ||
|
6bfbe713a5 | ||
|
58a35c1730 | ||
|
4725220ba7 | ||
|
a3cfc2432b | ||
|
75f565a01e | ||
|
61ac847dc4 | ||
|
8b1c3062e2 | ||
|
1a82638336 | ||
|
d2191564a4 | ||
|
e1f9022b4e | ||
|
b64816fab9 | ||
|
4f2016d827 | ||
|
e60081a69d | ||
|
52955ddbbf | ||
|
ac70bced54 | ||
|
7b9221610c | ||
|
e26fa5ecdc | ||
|
7761cf1ecd | ||
|
00bc5ff257 | ||
|
7bfc26e61e | ||
|
edf295ab6c | ||
|
c99e12db24 | ||
|
05fcb2fb50 | ||
|
2f69cd2ed6 | ||
|
bf729262cc | ||
|
f85dc5cce3 | ||
|
cae9ec5030 | ||
|
b33a4ad59c | ||
|
73189456df | ||
|
7a2509b46f | ||
|
08a669a939 | ||
|
96a436319f | ||
|
5a68aac719 | ||
|
26f951e7ec | ||
|
ae043aa9f4 | ||
|
83d8610df4 | ||
|
d7f0cfed73 | ||
|
2fffd85374 | ||
|
c185a87d08 | ||
|
80693b9a5c | ||
|
75dc96747e | ||
|
9fa66ff5d0 | ||
|
2d7adf75d1 | ||
|
257396a78c | ||
|
fef026c3cd | ||
|
eec7d8e602 | ||
|
3f54411d7b | ||
|
1ba088eac3 | ||
|
829653e9d2 | ||
|
b21034f1d8 | ||
|
c460a39138 | ||
|
5b0d740bc7 | ||
|
06afd4066b | ||
|
a4fe85be41 | ||
|
28be269255 | ||
|
dda7fb4565 | ||
|
43e1833d57 | ||
|
fe48ad1a5c | ||
|
02952b1db8 | ||
|
67c70f7f8f | ||
|
f211b03e46 | ||
|
363400aa05 | ||
|
c8f1362178 | ||
|
f3e41aef62 | ||
|
84f1856f00 | ||
|
d63d5eeb3c | ||
|
626141fbcd | ||
|
7968207785 | ||
|
00f85cf9e4 | ||
|
1bda44376a | ||
|
1b7e6944d2 | ||
|
cdfbc6e307 | ||
|
f59fa65eee | ||
|
f022689a83 | ||
|
0b7d853a7b | ||
|
7f15568678 | ||
|
a0b95ad5bc | ||
|
c78091015d | ||
|
8bda06f7fc | ||
|
9a2ae347ef | ||
|
0865522a8f | ||
|
b862d29459 | ||
|
383647afdb | ||
|
0dbf6b2322 | ||
|
8f7d0927f2 | ||
|
237067a246 | ||
|
45205219d9 | ||
|
0ff8589b3d | ||
|
e993394ff0 | ||
|
ef601036e3 | ||
|
287e5acdb2 | ||
|
deb9ab8576 | ||
|
b2753bc422 | ||
|
2c6ab3bf5a | ||
|
79655efc1f | ||
|
9ec2ffac8b | ||
|
9706f82e8e | ||
|
6ab96129d5 | ||
|
cb14dd8ec3 | ||
|
e2e02fa768 | ||
|
e126b7bd6a | ||
|
e3c2a71c94 | ||
|
971c09083b | ||
|
68245ca45f | ||
|
3b457f947e | ||
|
f4198fefc7 | ||
|
393d07aeec | ||
|
5944967643 | ||
|
a13591224c | ||
|
90d79845fd | ||
|
2802acfe0a | ||
|
f1dce61f03 | ||
|
a995b00f1b | ||
|
3c436c7879 | ||
|
75b938a46d | ||
|
5fa96093b6 | ||
|
8b1aa5288b | ||
|
0f50309288 | ||
|
e86d9d292a | ||
|
4edf398a99 | ||
|
5f3fb9a142 | ||
|
1a318583e5 | ||
|
00c8beb6b2 | ||
|
17c849341e | ||
|
f78861713e | ||
|
c82a74dde5 | ||
|
a432400ee9 | ||
|
8a1d65be14 | ||
|
ae65165402 | ||
|
37ff5a1e97 | ||
|
7b10f48b6a | ||
|
c1c2fab5d3 | ||
|
afe44419d9 | ||
|
794069a7bf | ||
|
d8f806cd88 | ||
|
c3cbfded33 | ||
|
3693aade09 | ||
|
9d189fb67c | ||
|
8bb7aa3ad7 | ||
|
a91943d079 | ||
|
037f4d5ea6 | ||
|
835b901983 | ||
|
2c59a1b15f | ||
|
7d70d1090f | ||
|
82dfe7a30d | ||
|
11cfe848ec | ||
|
1147e492fb | ||
|
5e4ea7a35b | ||
|
83516ba8a9 | ||
|
fd117d7747 | ||
|
6a3c7b8b74 | ||
|
3b5f878f51 | ||
|
c56d92ea4f |
65 changed files with 4853 additions and 920 deletions
|
@ -1,13 +0,0 @@
|
|||
local awful = require("awful")
|
||||
|
||||
function flameshot_gui()
|
||||
awful.spawn("flameshot gui")
|
||||
end
|
||||
|
||||
function flameshot_screen()
|
||||
awful.spawn("flameshot screen --clipboard")
|
||||
end
|
||||
|
||||
function flameshot_full()
|
||||
awful.spawn("flameshot full --clipboard")
|
||||
end
|
|
@ -1,582 +0,0 @@
|
|||
-- If LuaRocks is installed, make sure that packages installed through it are
|
||||
-- found (e.g. lgi). If LuaRocks is not installed, do nothing.
|
||||
pcall(require, "luarocks.loader")
|
||||
|
||||
-- Standard awesome library
|
||||
local gears = require("gears")
|
||||
local awful = require("awful")
|
||||
require("awful.autofocus")
|
||||
-- Widget and layout library
|
||||
local wibox = require("wibox")
|
||||
-- Theme handling library
|
||||
local beautiful = require("beautiful")
|
||||
-- Notification library
|
||||
local naughty = require("naughty")
|
||||
local menubar = require("menubar")
|
||||
local hotkeys_popup = require("awful.hotkeys_popup")
|
||||
-- Enable hotkeys help widget for VIM and other apps
|
||||
-- when client with a matching name is opened:
|
||||
require("awful.hotkeys_popup.keys")
|
||||
|
||||
local flameshot = require("flameshot")
|
||||
local start = require("start")
|
||||
|
||||
-- {{{ Error handling
|
||||
-- Check if awesome encountered an error during startup and fell back to
|
||||
-- another config (This code will only ever execute for the fallback config)
|
||||
if awesome.startup_errors then
|
||||
naughty.notify({ preset = naughty.config.presets.critical,
|
||||
title = "Oops, there were errors during startup!",
|
||||
text = awesome.startup_errors })
|
||||
end
|
||||
|
||||
-- Handle runtime errors after startup
|
||||
do
|
||||
local in_error = false
|
||||
awesome.connect_signal("debug::error", function (err)
|
||||
-- Make sure we don't go into an endless error loop
|
||||
if in_error then return end
|
||||
in_error = true
|
||||
|
||||
naughty.notify({ preset = naughty.config.presets.critical,
|
||||
title = "Oops, an error happened!",
|
||||
text = tostring(err) })
|
||||
in_error = false
|
||||
end)
|
||||
end
|
||||
-- }}}
|
||||
|
||||
-- {{{ Variable definitions
|
||||
-- Themes define colours, icons, font and wallpapers.
|
||||
beautiful.init(gears.filesystem.get_themes_dir() .. "default/theme.lua")
|
||||
|
||||
-- This is used later as the default terminal and editor to run.
|
||||
terminal = "xterm"
|
||||
editor = os.getenv("EDITOR") or "vi"
|
||||
editor_cmd = terminal .. " -e " .. editor
|
||||
|
||||
-- Default modkey.
|
||||
-- Usually, Mod4 is the key with a logo between Control and Alt.
|
||||
-- If you do not like this or do not have such a key,
|
||||
-- I suggest you to remap Mod4 to another key using xmodmap or other tools.
|
||||
-- However, you can use another modifier like Mod1, but it may interact with others.
|
||||
modkey = "Mod4"
|
||||
|
||||
-- Table of layouts to cover with awful.layout.inc, order matters.
|
||||
awful.layout.layouts = {
|
||||
-- awful.layout.suit.floating,
|
||||
awful.layout.suit.tile,
|
||||
awful.layout.suit.tile.left,
|
||||
-- awful.layout.suit.tile.bottom,
|
||||
-- awful.layout.suit.tile.top,
|
||||
awful.layout.suit.fair,
|
||||
awful.layout.suit.fair.horizontal,
|
||||
awful.layout.suit.spiral,
|
||||
awful.layout.suit.spiral.dwindle,
|
||||
awful.layout.suit.max,
|
||||
awful.layout.suit.max.fullscreen,
|
||||
awful.layout.suit.magnifier,
|
||||
awful.layout.suit.corner.nw,
|
||||
awful.layout.suit.corner.ne,
|
||||
-- awful.layout.suit.corner.sw,
|
||||
-- awful.layout.suit.corner.se,
|
||||
}
|
||||
-- }}}
|
||||
|
||||
-- {{{ Menu
|
||||
-- Create a launcher widget and a main menu
|
||||
myawesomemenu = {
|
||||
{ "hotkeys", function() hotkeys_popup.show_help(nil, awful.screen.focused()) end },
|
||||
{ "manual", terminal .. " -e man awesome" },
|
||||
{ "edit config", editor_cmd .. " " .. awesome.conffile },
|
||||
{ "restart", awesome.restart },
|
||||
{ "quit", function() awesome.quit() end },
|
||||
}
|
||||
|
||||
mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
|
||||
{ "open terminal", terminal }
|
||||
}
|
||||
})
|
||||
|
||||
mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon,
|
||||
menu = mymainmenu })
|
||||
|
||||
-- Menubar configuration
|
||||
menubar.utils.terminal = terminal -- Set the terminal for applications that require it
|
||||
-- }}}
|
||||
|
||||
-- Keyboard map indicator and switcher
|
||||
mykeyboardlayout = awful.widget.keyboardlayout()
|
||||
|
||||
-- {{{ Wibar
|
||||
-- Create a textclock widget
|
||||
mytextclock = wibox.widget.textclock()
|
||||
|
||||
-- Create a wibox for each screen and add it
|
||||
local taglist_buttons = gears.table.join(
|
||||
awful.button({ }, 1, function(t) t:view_only() end),
|
||||
awful.button({ modkey }, 1, function(t)
|
||||
if client.focus then
|
||||
client.focus:move_to_tag(t)
|
||||
end
|
||||
end),
|
||||
awful.button({ }, 3, awful.tag.viewtoggle),
|
||||
awful.button({ modkey }, 3, function(t)
|
||||
if client.focus then
|
||||
client.focus:toggle_tag(t)
|
||||
end
|
||||
end),
|
||||
awful.button({ }, 4, function(t) awful.tag.viewnext(t.screen) end),
|
||||
awful.button({ }, 5, function(t) awful.tag.viewprev(t.screen) end)
|
||||
)
|
||||
|
||||
local tasklist_buttons = gears.table.join(
|
||||
awful.button({ }, 1, function (c)
|
||||
if c == client.focus then
|
||||
c.minimized = true
|
||||
else
|
||||
c:emit_signal(
|
||||
"request::activate",
|
||||
"tasklist",
|
||||
{raise = true}
|
||||
)
|
||||
end
|
||||
end),
|
||||
awful.button({ }, 3, function()
|
||||
awful.menu.client_list({ theme = { width = 250 } })
|
||||
end),
|
||||
awful.button({ }, 4, function ()
|
||||
awful.client.focus.byidx(1)
|
||||
end),
|
||||
awful.button({ }, 5, function ()
|
||||
awful.client.focus.byidx(-1)
|
||||
end))
|
||||
|
||||
local function set_wallpaper(s)
|
||||
-- Wallpaper
|
||||
if beautiful.wallpaper then
|
||||
local wallpaper = beautiful.wallpaper
|
||||
-- If wallpaper is a function, call it with the screen
|
||||
if type(wallpaper) == "function" then
|
||||
wallpaper = wallpaper(s)
|
||||
end
|
||||
gears.wallpaper.maximized(wallpaper, s, true)
|
||||
end
|
||||
end
|
||||
|
||||
-- Re-set wallpaper when a screen's geometry changes (e.g. different resolution)
|
||||
screen.connect_signal("property::geometry", set_wallpaper)
|
||||
|
||||
awful.screen.connect_for_each_screen(function(s)
|
||||
-- Wallpaper
|
||||
set_wallpaper(s)
|
||||
|
||||
-- Each screen has its own tag table.
|
||||
awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[1])
|
||||
|
||||
-- Create a promptbox for each screen
|
||||
s.mypromptbox = awful.widget.prompt()
|
||||
-- Create an imagebox widget which will contain an icon indicating which layout we're using.
|
||||
-- We need one layoutbox per screen.
|
||||
s.mylayoutbox = awful.widget.layoutbox(s)
|
||||
s.mylayoutbox:buttons(gears.table.join(
|
||||
awful.button({ }, 1, function () awful.layout.inc( 1) end),
|
||||
awful.button({ }, 3, function () awful.layout.inc(-1) end),
|
||||
awful.button({ }, 4, function () awful.layout.inc( 1) end),
|
||||
awful.button({ }, 5, function () awful.layout.inc(-1) end)))
|
||||
-- Create a taglist widget
|
||||
s.mytaglist = awful.widget.taglist {
|
||||
screen = s,
|
||||
filter = awful.widget.taglist.filter.all,
|
||||
buttons = taglist_buttons
|
||||
}
|
||||
|
||||
-- Create a tasklist widget
|
||||
s.mytasklist = awful.widget.tasklist {
|
||||
screen = s,
|
||||
filter = awful.widget.tasklist.filter.currenttags,
|
||||
buttons = tasklist_buttons
|
||||
}
|
||||
|
||||
-- Create the wibox
|
||||
s.mywibox = awful.wibar({ position = "top", screen = s })
|
||||
|
||||
-- Add widgets to the wibox
|
||||
s.mywibox:setup {
|
||||
layout = wibox.layout.align.horizontal,
|
||||
{ -- Left widgets
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
mylauncher,
|
||||
s.mytaglist,
|
||||
s.mypromptbox,
|
||||
},
|
||||
s.mytasklist, -- Middle widget
|
||||
{ -- Right widgets
|
||||
layout = wibox.layout.fixed.horizontal,
|
||||
mykeyboardlayout,
|
||||
wibox.widget.systray(),
|
||||
mytextclock,
|
||||
s.mylayoutbox,
|
||||
},
|
||||
}
|
||||
end)
|
||||
-- }}}
|
||||
|
||||
-- {{{ Mouse bindings
|
||||
root.buttons(gears.table.join(
|
||||
awful.button({ }, 3, function () mymainmenu:toggle() end),
|
||||
awful.button({ }, 4, awful.tag.viewnext),
|
||||
awful.button({ }, 5, awful.tag.viewprev)
|
||||
))
|
||||
-- }}}
|
||||
|
||||
-- {{{ Key bindings
|
||||
globalkeys = gears.table.join(
|
||||
awful.key({ modkey, }, "s", hotkeys_popup.show_help,
|
||||
{description="show help", group="awesome"}),
|
||||
awful.key({ modkey, }, "Left", awful.tag.viewprev,
|
||||
{description = "view previous", group = "tag"}),
|
||||
awful.key({ modkey, }, "Right", awful.tag.viewnext,
|
||||
{description = "view next", group = "tag"}),
|
||||
awful.key({ modkey, }, "Escape", awful.tag.history.restore,
|
||||
{description = "go back", group = "tag"}),
|
||||
|
||||
awful.key({ modkey, }, "j",
|
||||
function ()
|
||||
awful.client.focus.byidx( 1)
|
||||
end,
|
||||
{description = "focus next by index", group = "client"}
|
||||
),
|
||||
awful.key({ modkey, }, "k",
|
||||
function ()
|
||||
awful.client.focus.byidx(-1)
|
||||
end,
|
||||
{description = "focus previous by index", group = "client"}
|
||||
),
|
||||
awful.key({ modkey, }, "w", function () mymainmenu:show() end,
|
||||
{description = "show main menu", group = "awesome"}),
|
||||
|
||||
-- Layout manipulation
|
||||
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end,
|
||||
{description = "swap with next client by index", group = "client"}),
|
||||
awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end,
|
||||
{description = "swap with previous client by index", group = "client"}),
|
||||
awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end,
|
||||
{description = "focus the next screen", group = "screen"}),
|
||||
awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end,
|
||||
{description = "focus the previous screen", group = "screen"}),
|
||||
awful.key({ modkey, }, "u", awful.client.urgent.jumpto,
|
||||
{description = "jump to urgent client", group = "client"}),
|
||||
awful.key({ modkey, }, "Tab",
|
||||
function ()
|
||||
awful.client.focus.history.previous()
|
||||
if client.focus then
|
||||
client.focus:raise()
|
||||
end
|
||||
end,
|
||||
{description = "go back", group = "client"}),
|
||||
|
||||
-- Standard program
|
||||
awful.key({ modkey, }, "Return", function () awful.spawn(terminal) end,
|
||||
{description = "open a terminal", group = "launcher"}),
|
||||
awful.key({ modkey, "Control" }, "r", awesome.restart,
|
||||
{description = "reload awesome", group = "awesome"}),
|
||||
awful.key({ modkey, "Shift" }, "q", awesome.quit,
|
||||
{description = "quit awesome", group = "awesome"}),
|
||||
|
||||
awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end,
|
||||
{description = "increase master width factor", group = "layout"}),
|
||||
awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end,
|
||||
{description = "decrease master width factor", group = "layout"}),
|
||||
awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1, nil, true) end,
|
||||
{description = "increase the number of master clients", group = "layout"}),
|
||||
awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1, nil, true) end,
|
||||
{description = "decrease the number of master clients", group = "layout"}),
|
||||
awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1, nil, true) end,
|
||||
{description = "increase the number of columns", group = "layout"}),
|
||||
awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1, nil, true) end,
|
||||
{description = "decrease the number of columns", group = "layout"}),
|
||||
awful.key({ modkey, }, "space", function () awful.layout.inc( 1) end,
|
||||
{description = "select next", group = "layout"}),
|
||||
awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(-1) end,
|
||||
{description = "select previous", group = "layout"}),
|
||||
|
||||
awful.key({ modkey, "Control" }, "n",
|
||||
function ()
|
||||
local c = awful.client.restore()
|
||||
-- Focus restored client
|
||||
if c then
|
||||
c:emit_signal(
|
||||
"request::activate", "key.unminimize", {raise = true}
|
||||
)
|
||||
end
|
||||
end,
|
||||
{description = "restore minimized", group = "client"}),
|
||||
|
||||
-- Prompt
|
||||
awful.key({ modkey }, "r", function () awful.screen.focused().mypromptbox:run() end,
|
||||
{description = "run prompt", group = "launcher"}),
|
||||
|
||||
awful.key({ modkey }, "x",
|
||||
function ()
|
||||
awful.prompt.run {
|
||||
prompt = "Run Lua code: ",
|
||||
textbox = awful.screen.focused().mypromptbox.widget,
|
||||
exe_callback = awful.util.eval,
|
||||
history_path = awful.util.get_cache_dir() .. "/history_eval"
|
||||
}
|
||||
end,
|
||||
{description = "lua execute prompt", group = "awesome"}),
|
||||
-- Menubar
|
||||
awful.key({ modkey }, "p", function() menubar.show() end,
|
||||
{description = "show the menubar", group = "launcher"})
|
||||
)
|
||||
|
||||
clientkeys = gears.table.join(
|
||||
awful.key({ modkey, }, "f",
|
||||
function (c)
|
||||
c.fullscreen = not c.fullscreen
|
||||
c:raise()
|
||||
end,
|
||||
{description = "toggle fullscreen", group = "client"}),
|
||||
awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end,
|
||||
{description = "close", group = "client"}),
|
||||
awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ,
|
||||
{description = "toggle floating", group = "client"}),
|
||||
awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end,
|
||||
{description = "move to master", group = "client"}),
|
||||
awful.key({ modkey, }, "o", function (c) c:move_to_screen() end,
|
||||
{description = "move to screen", group = "client"}),
|
||||
awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end,
|
||||
{description = "toggle keep on top", group = "client"}),
|
||||
awful.key({ modkey, }, "n",
|
||||
function (c)
|
||||
-- The client currently has the input focus, so it cannot be
|
||||
-- minimized, since minimized clients can't have the focus.
|
||||
c.minimized = true
|
||||
end ,
|
||||
{description = "minimize", group = "client"}),
|
||||
awful.key({ modkey, }, "m",
|
||||
function (c)
|
||||
c.maximized = not c.maximized
|
||||
c:raise()
|
||||
end ,
|
||||
{description = "(un)maximize", group = "client"}),
|
||||
awful.key({ modkey, "Control" }, "m",
|
||||
function (c)
|
||||
c.maximized_vertical = not c.maximized_vertical
|
||||
c:raise()
|
||||
end ,
|
||||
{description = "(un)maximize vertically", group = "client"}),
|
||||
awful.key({ modkey, "Shift" }, "m",
|
||||
function (c)
|
||||
c.maximized_horizontal = not c.maximized_horizontal
|
||||
c:raise()
|
||||
end ,
|
||||
{description = "(un)maximize horizontally", group = "client"})
|
||||
)
|
||||
|
||||
-- Bind all key numbers to tags.
|
||||
-- Be careful: we use keycodes to make it work on any keyboard layout.
|
||||
-- This should map on the top row of your keyboard, usually 1 to 9.
|
||||
for i = 1, 9 do
|
||||
globalkeys = gears.table.join(globalkeys,
|
||||
-- View tag only.
|
||||
awful.key({ modkey }, "#" .. i + 9,
|
||||
function ()
|
||||
local screen = awful.screen.focused()
|
||||
local tag = screen.tags[i]
|
||||
if tag then
|
||||
tag:view_only()
|
||||
end
|
||||
end,
|
||||
{description = "view tag #"..i, group = "tag"}),
|
||||
-- Toggle tag display.
|
||||
awful.key({ modkey, "Control" }, "#" .. i + 9,
|
||||
function ()
|
||||
local screen = awful.screen.focused()
|
||||
local tag = screen.tags[i]
|
||||
if tag then
|
||||
awful.tag.viewtoggle(tag)
|
||||
end
|
||||
end,
|
||||
{description = "toggle tag #" .. i, group = "tag"}),
|
||||
-- Move client to tag.
|
||||
awful.key({ modkey, "Shift" }, "#" .. i + 9,
|
||||
function ()
|
||||
if client.focus then
|
||||
local tag = client.focus.screen.tags[i]
|
||||
if tag then
|
||||
client.focus:move_to_tag(tag)
|
||||
end
|
||||
end
|
||||
end,
|
||||
{description = "move focused client to tag #"..i, group = "tag"}),
|
||||
-- Toggle tag on focused client.
|
||||
awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
|
||||
function ()
|
||||
if client.focus then
|
||||
local tag = client.focus.screen.tags[i]
|
||||
if tag then
|
||||
client.focus:toggle_tag(tag)
|
||||
end
|
||||
end
|
||||
end,
|
||||
{description = "toggle focused client on tag #" .. i, group = "tag"})
|
||||
)
|
||||
end
|
||||
|
||||
clientbuttons = gears.table.join(
|
||||
awful.button({ }, 1, function (c)
|
||||
c:emit_signal("request::activate", "mouse_click", {raise = true})
|
||||
end),
|
||||
awful.button({ modkey }, 1, function (c)
|
||||
c:emit_signal("request::activate", "mouse_click", {raise = true})
|
||||
awful.mouse.client.move(c)
|
||||
end),
|
||||
awful.button({ modkey }, 3, function (c)
|
||||
c:emit_signal("request::activate", "mouse_click", {raise = true})
|
||||
awful.mouse.client.resize(c)
|
||||
end)
|
||||
)
|
||||
|
||||
globalkeys = gears.table.join(globalkeys,
|
||||
-- Screenshot
|
||||
awful.key({ }, "Print", flameshot_gui,
|
||||
{description = "Take a screenshot of entire screen", group = "screenshot"}),
|
||||
awful.key({ "Shift" }, "Print", flameshot_screen,
|
||||
{description = "Take a screenshot of focused window", group = "screenshot"}),
|
||||
awful.key({ "Ctrl" }, "Print", flameshot_full,
|
||||
{description = "Take a screenshot of delay", group = "screenshot"}),
|
||||
|
||||
-- Media keys
|
||||
awful.key({ }, "XF86AudioRaiseVolume", function() os.execute("pactl set-sink-volume @DEFAULT_SINK@ +5%") end, {description = "Volume Up (+5%)", group = "mediakeys"}),
|
||||
awful.key({ }, "XF86AudioLowerVolume", function() os.execute("pactl set-sink-volume @DEFAULT_SINK@ -5%") end, {description = "Volume Up (-5%)", group = "mediakeys"}),
|
||||
awful.key({ }, "XF86AudioMute", function() os.execute("pactl set-sink-mute @DEFAULT_SINK@ toggle") end, {description = "Mute", group = "mediakeys"})
|
||||
)
|
||||
|
||||
-- Set keys
|
||||
root.keys(globalkeys)
|
||||
-- }}}
|
||||
|
||||
-- {{{ Rules
|
||||
-- Rules to apply to new clients (through the "manage" signal).
|
||||
awful.rules.rules = {
|
||||
-- All clients will match this rule.
|
||||
{ rule = { },
|
||||
properties = { border_width = beautiful.border_width,
|
||||
border_color = beautiful.border_normal,
|
||||
focus = awful.client.focus.filter,
|
||||
raise = true,
|
||||
keys = clientkeys,
|
||||
buttons = clientbuttons,
|
||||
screen = awful.screen.preferred,
|
||||
placement = awful.placement.no_overlap+awful.placement.no_offscreen
|
||||
}
|
||||
},
|
||||
|
||||
-- Floating clients.
|
||||
{ rule_any = {
|
||||
instance = {
|
||||
"DTA", -- Firefox addon DownThemAll.
|
||||
"copyq", -- Includes session name in class.
|
||||
"pinentry",
|
||||
},
|
||||
class = {
|
||||
"Arandr",
|
||||
"Blueman-manager",
|
||||
"Gpick",
|
||||
"Kruler",
|
||||
"MessageWin", -- kalarm.
|
||||
"Sxiv",
|
||||
"Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size.
|
||||
"Wpa_gui",
|
||||
"veromix",
|
||||
"xtightvncviewer"},
|
||||
|
||||
-- Note that the name property shown in xprop might be set slightly after creation of the client
|
||||
-- and the name shown there might not match defined rules here.
|
||||
name = {
|
||||
"Event Tester", -- xev.
|
||||
},
|
||||
role = {
|
||||
"AlarmWindow", -- Thunderbird's calendar.
|
||||
"ConfigManager", -- Thunderbird's about:config.
|
||||
"pop-up", -- e.g. Google Chrome's (detached) Developer Tools.
|
||||
}
|
||||
}, properties = { floating = true }},
|
||||
|
||||
-- Add titlebars to normal clients and dialogs
|
||||
{ rule_any = {type = { "normal", "dialog" }
|
||||
}, properties = { titlebars_enabled = true }
|
||||
},
|
||||
|
||||
-- Set Firefox to always map on the tag named "2" on screen 1.
|
||||
-- { rule = { class = "Firefox" },
|
||||
-- properties = { screen = 1, tag = "2" } },
|
||||
}
|
||||
-- }}}
|
||||
|
||||
-- {{{ Signals
|
||||
-- Signal function to execute when a new client appears.
|
||||
client.connect_signal("manage", function (c)
|
||||
-- Set the windows at the slave,
|
||||
-- i.e. put it at the end of others instead of setting it master.
|
||||
-- if not awesome.startup then awful.client.setslave(c) end
|
||||
|
||||
if awesome.startup
|
||||
and not c.size_hints.user_position
|
||||
and not c.size_hints.program_position then
|
||||
-- Prevent clients from being unreachable after screen count changes.
|
||||
awful.placement.no_offscreen(c)
|
||||
end
|
||||
end)
|
||||
|
||||
-- Add a titlebar if titlebars_enabled is set to true in the rules.
|
||||
client.connect_signal("request::titlebars", function(c)
|
||||
-- buttons for the titlebar
|
||||
local buttons = gears.table.join(
|
||||
awful.button({ }, 1, function()
|
||||
c:emit_signal("request::activate", "titlebar", {raise = true})
|
||||
awful.mouse.client.move(c)
|
||||
end),
|
||||
awful.button({ }, 3, function()
|
||||
c:emit_signal("request::activate", "titlebar", {raise = true})
|
||||
awful.mouse.client.resize(c)
|
||||
end)
|
||||
)
|
||||
|
||||
awful.titlebar(c) : setup {
|
||||
{ -- Left
|
||||
awful.titlebar.widget.iconwidget(c),
|
||||
buttons = buttons,
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
},
|
||||
{ -- Middle
|
||||
{ -- Title
|
||||
align = "center",
|
||||
widget = awful.titlebar.widget.titlewidget(c)
|
||||
},
|
||||
buttons = buttons,
|
||||
layout = wibox.layout.flex.horizontal
|
||||
},
|
||||
{ -- Right
|
||||
awful.titlebar.widget.floatingbutton (c),
|
||||
awful.titlebar.widget.maximizedbutton(c),
|
||||
awful.titlebar.widget.stickybutton (c),
|
||||
awful.titlebar.widget.ontopbutton (c),
|
||||
awful.titlebar.widget.closebutton (c),
|
||||
layout = wibox.layout.fixed.horizontal()
|
||||
},
|
||||
layout = wibox.layout.align.horizontal
|
||||
}
|
||||
end)
|
||||
|
||||
-- Enable sloppy focus, so that focus follows mouse.
|
||||
client.connect_signal("mouse::enter", function(c)
|
||||
c:emit_signal("request::activate", "mouse_enter", {raise = false})
|
||||
end)
|
||||
|
||||
client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end)
|
||||
client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
|
||||
-- }}}
|
|
@ -1,4 +0,0 @@
|
|||
local awful = require("awful")
|
||||
|
||||
awful.spawn("nextcloud")
|
||||
awful.spawn("guake")
|
6
.gitmodules
vendored
6
.gitmodules
vendored
|
@ -1,6 +0,0 @@
|
|||
[submodule ".oh-my-zsh"]
|
||||
path = .oh-my-zsh
|
||||
url = https://github.com/ohmyzsh/ohmyzsh.git
|
||||
[submodule ".zplug"]
|
||||
path = .zplug
|
||||
url = https://github.com/zplug/zplug.git
|
|
@ -1,2 +0,0 @@
|
|||
let mapleader=" "
|
||||
set easymotion
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 7deaff71a2be08145d83f0177edbf2dfb3e91262
|
141
.vimrc
141
.vimrc
|
@ -1,141 +0,0 @@
|
|||
if empty(glob('~/.vim/autoload/plug.vim'))
|
||||
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
|
||||
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
||||
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
|
||||
endif
|
||||
|
||||
" Specify a directory for plugins
|
||||
" - For Neovim: stdpath('data') . '/plugged'
|
||||
" - Avoid using standard Vim directory names like 'plugin'
|
||||
call plug#begin('~/.vim/plugged')
|
||||
|
||||
"" Gitvimbim Wrapper
|
||||
" Vim Fudgeitive
|
||||
Plug 'tpope/vim-fugitive'
|
||||
Plug 'shumphrey/fugitive-gitlab.vim'
|
||||
Plug 'borissov/fugitive-gitea'
|
||||
|
||||
"" Coding Assistance
|
||||
" Ale: Runs fast and works well.
|
||||
Plug 'dense-analysis/ale'
|
||||
|
||||
" Better HTML PHP support
|
||||
Plug 'beanworks/vim-phpfmt'
|
||||
|
||||
" Guten Tag: Automatically generates ctags (variable names, function, classes)
|
||||
Plug 'ludovicchabant/vim-gutentags'
|
||||
|
||||
" php.vim: PHP syntax higlighting and indent
|
||||
Plug 'StanAngeloff/php.vim'
|
||||
|
||||
" PHP Namespace: Helps to keep track of namespaces and autcompletes them
|
||||
Plug 'arnaud-lb/vim-php-namespace', {'for': 'php'}
|
||||
|
||||
"" Debugger
|
||||
" v-debug: PHP Debugger with xdebug
|
||||
Plug 'vim-vdebug/vdebug'
|
||||
|
||||
"" GUI
|
||||
" NERDTree: Sidebar file tree
|
||||
Plug 'scrooloose/nerdtree'
|
||||
Plug 'Xuyuanp/nerdtree-git-plugin'
|
||||
|
||||
" MINIBUFXPL: A nice buffer explorer
|
||||
Plug 'fholgado/minibufexpl.vim'
|
||||
|
||||
" Airline: Some file infos
|
||||
Plug 'vim-airline/vim-airline'
|
||||
|
||||
"" AutoComplPop: Open the popup menu for autocompletion
|
||||
Plug 'vim-scripts/AutoComplPop'
|
||||
|
||||
"" Indexing
|
||||
" ctrlp.vim: Quickly find files by name without navigating
|
||||
Plug 'kien/ctrlp.vim'
|
||||
|
||||
" Ferret: Quickly finds file content
|
||||
Plug 'wincent/ferret'
|
||||
|
||||
"" Input optimization
|
||||
" Vim Surround: Quickly surround stuff
|
||||
Plug 'tpope/vim-surround'
|
||||
|
||||
" Initialize plugin system
|
||||
call plug#end()
|
||||
|
||||
let g:fugitive_gitlab_domains = ['http://gitlab.kreativ.rudel:8001', 'gitlab.kreativ.rudel']
|
||||
let g:fugitive_gitea_domains = ['https://git.doggoat.de']
|
||||
|
||||
"" NERDTree config
|
||||
" Autostart NERDTree on start
|
||||
autocmd vimenter * NERDTree | wincmd w
|
||||
let NERDTreeShowHidden=1
|
||||
|
||||
" Close vim if the only window left open is a NERDTree
|
||||
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
|
||||
|
||||
"" ALE config
|
||||
" Define fixers
|
||||
let g:ale_fixers = {
|
||||
\ '*': ['remove_trailing_lines', 'trim_whitespace'],
|
||||
\ 'javascript': ['eslint'],
|
||||
\ 'php': ['phpcbf'],
|
||||
\ 'rust': ['rustfmt'],
|
||||
\}
|
||||
|
||||
" Run linter on save
|
||||
let g:ale_fix_on_save = 1
|
||||
|
||||
let g:ale_linters = {
|
||||
\ 'rust': ['rls', 'cargo']
|
||||
\}
|
||||
|
||||
" Enable completion where available.
|
||||
let g:ale_completion_enabled = 1
|
||||
set omnifunc=ale#completion#OmniFunc
|
||||
|
||||
"" Gutentags
|
||||
" Auto generate ctags on startup
|
||||
autocmd! User vim-gutentags call gutentags#setup_gutentags()
|
||||
|
||||
"" PHP
|
||||
" PHP Namespace: Automatically use fully qualified name
|
||||
function! IPhpExpandClass()
|
||||
call PhpExpandClass()
|
||||
call feedkeys('a', 'n')
|
||||
endfunction
|
||||
autocmd FileType php inoremap <Leader>e <Esc>:call IPhpExpandClass()<CR>
|
||||
autocmd FileType php noremap <Leader>e :call PhpExpandClass()<CR>
|
||||
|
||||
"" vdebug config
|
||||
" Set xdebug config
|
||||
let g:vdebug_options = {'ide_key': 'PHPSTORM'}
|
||||
let g:vdebug_options = {'break_on_open': 0}
|
||||
let g:vdebug_options = {'server': '172.17.0.1'}
|
||||
let g:vdebug_options = {'port': '9002'}
|
||||
|
||||
" Configure paths
|
||||
let g:vdebug_options["path_maps"] = { "/var/www/html": "/home/leong/workspace/upwire-2019" }
|
||||
|
||||
" Don't break on open
|
||||
let g:vdebug_options['break_on_open'] = 0
|
||||
|
||||
"" CtrlP config
|
||||
" Self explainatory
|
||||
let g:ctrlp_max_files=0
|
||||
let g:ctrlp_max_depth=40
|
||||
let g:ctrlp_custom_ignore = 'node_modules\|DS_Store\|git'
|
||||
|
||||
"" Vim Config
|
||||
" Some autocompletion settings.
|
||||
set completeopt+=longest,menuone,menu,preview
|
||||
|
||||
" Add clipboard support
|
||||
set clipboard=unnamedplus
|
||||
|
||||
" Intendation
|
||||
set tabstop=4
|
||||
set softtabstop=4
|
||||
set shiftwidth=4
|
||||
set expandtab
|
||||
set autoindent
|
|
@ -1,76 +0,0 @@
|
|||
#########################################
|
||||
# Aliases #
|
||||
#########################################
|
||||
|
||||
#alias sudo="sudo "
|
||||
alias ws="cd ~/workspace"
|
||||
|
||||
alias open="xdg-open"
|
||||
|
||||
alias dc-up="docker-compose up"
|
||||
alias dc-upd="docker-compose up -d"
|
||||
alias dc-down="docker-compose down"
|
||||
|
||||
alias dss-s="docker-sync-stack start"
|
||||
|
||||
# Mirons docker init script
|
||||
alias docker-init="bash <(curl -s https://raw.githubusercontent.com/micron/docker-setup/master/init.sh)"
|
||||
|
||||
# Quick install script for projects
|
||||
alias krinstall="echo '###=== NodeJS ===###' && npm install && echo '###=== Bower ===###' && bower install && echo '###=== Composer ===###' && composer install && echo '###=== Finished ===###'"
|
||||
|
||||
# Quickly ZIP and Delete on enter press
|
||||
alias quickzip='ALEXAFILE="${PWD##*/}_$(cat /dev/urandom | env LC_CTYPE=C tr -cd 'a-f0-9' | head -c 32).zip"; zip ${ALEXAFILE} -r * && echo "Press enter to delete file." && read && rm ${ALEXAFILE}'
|
||||
|
||||
copydl() {
|
||||
|
||||
if [ $# -eq 1 ]
|
||||
then
|
||||
dlFileCount=1
|
||||
elif [ $# -eq 2 ]
|
||||
then
|
||||
dlFileCount=$1
|
||||
fi
|
||||
|
||||
lastdlFiles=$(ls -tp ~/Downloads | grep -v /$ | head -$dlFileCount)
|
||||
|
||||
if [ $# -eq 1 ]
|
||||
then
|
||||
while read line; do
|
||||
cp "$HOME/Downloads/$line" "$1"
|
||||
done <<< "$lastdlFiles"
|
||||
elif [ $# -eq 2 ]
|
||||
then
|
||||
while read line; do
|
||||
cp "$HOME/Downloads/$line" "$2"
|
||||
done <<< "$lastdlFiles"
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
ytplaylist(){
|
||||
youtube-dl --get-id "$1" | awk '{print "https://www.youtube.com/watch?v=" $0;}' | vlc -
|
||||
}
|
||||
|
||||
alias dl-wpcli="wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar"
|
||||
alias dl-wp="curl https://wordpress.org/latest.tar.gz | tar -xzv"
|
||||
|
||||
alias gitroot='cd $(git rev-parse --show-toplevel)'
|
||||
alias dc-clearmysql='find $(git rev-parse --show-toplevel)/docker/lib/mysql -mindepth 1 -maxdepth 1 -not -name '.gitkeep' -exec rm -rf "{}" \;'
|
||||
|
||||
alias gpgcb="xsel --clipboard | sed 's/^ *//g' | gpg2 -d"
|
||||
|
||||
if [ -n "$(command -v vimx)" ]; then
|
||||
alias oldvim='vim'
|
||||
alias vim='vimx'
|
||||
fi
|
||||
|
||||
if [ -n "$(command -v bat)" ]; then
|
||||
alias cat='bat'
|
||||
alias oldcat='cat'
|
||||
fi
|
||||
|
||||
if [ -n "$(command -v exa)" ]; then
|
||||
alias ls='exa'
|
||||
alias oldls='ls --color=tty'
|
||||
fi
|
|
@ -1,13 +0,0 @@
|
|||
# Don't check for new mail
|
||||
export MAILCHECK=1
|
||||
|
||||
export GOPATH=$HOME/.golang
|
||||
export FONTCONFIG_PATH=/etc/fonts
|
||||
|
||||
export UID=$(id -u)
|
||||
export GID=$(id -g)
|
||||
|
||||
export PATH=$PATH:~/.local/bin:~/bin:
|
||||
export PATH=$PATH:$(composer global config bin-dir --absolute -q)
|
||||
|
||||
export EDITOR=vim
|
|
@ -1,2 +0,0 @@
|
|||
zplug "romkatv/powerlevel10k", use:powerlevel10k.zsh-theme
|
||||
zplug "rupa/z", use:z.sh
|
1
.zplug
1
.zplug
|
@ -1 +0,0 @@
|
|||
Subproject commit c4dea766566b168a32dbfa8d10335e525ce39fcc
|
13
.zshrc
13
.zshrc
|
@ -1,13 +0,0 @@
|
|||
# Use Oh My Zsh
|
||||
export ZSH="$HOME/.oh-my-zsh"
|
||||
source $ZSH/oh-my-zsh.sh
|
||||
|
||||
export NVM_DIR="$HOME/.nvm"
|
||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
||||
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
||||
|
||||
# Use zplug
|
||||
source ~/.zplug/init.zsh
|
||||
|
||||
# Use custom config
|
||||
source ~/.zcustom/init.zsh
|
|
@ -1 +0,0 @@
|
|||
README.md.html
|
|
@ -1,29 +0,0 @@
|
|||
# Developer Configuration
|
||||
|
||||
## zsh
|
||||
|
||||
### Oh My Zsh
|
||||
https://github.com/ohmyzsh/ohmyzsh
|
||||
```bash
|
||||
sh -c "$(curl -fsSL \
|
||||
https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
|
||||
```
|
||||
|
||||
### zplug
|
||||
https://github.com/zplug/zplug
|
||||
```bash
|
||||
curl -sL --proto-redir -all,https \
|
||||
https://raw.githubusercontent.com/zplug/installer/master/installer.zsh | zsh
|
||||
```
|
||||
|
||||
## Vim
|
||||
|
||||
### Vim Plug
|
||||
https://github.com/junegunn/vim-plug
|
||||
```bash
|
||||
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
|
||||
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
||||
```
|
||||
|
||||
<style class="fallback">body{visibility:hidden}</style><script>markdeepOptions={tocStyle:'long'};</script>
|
||||
<!-- Markdeep: --><script src="https://casual-effects.com/markdeep/latest/markdeep.min.js?" charset="utf-8"></script>
|
|
@ -0,0 +1,205 @@
|
|||
[Desktop Entry]
|
||||
Categories=Utility;X-SuSE-SyncUtility;
|
||||
Type=Application
|
||||
Exec=nextcloud
|
||||
Name=Nextcloud desktop sync client
|
||||
Comment=Nextcloud desktop synchronization client
|
||||
GenericName=Folder Sync
|
||||
Icon=Nextcloud
|
||||
Keywords=Nextcloud;syncing;file;sharing;
|
||||
X-GNOME-Autostart-Delay=3
|
||||
MimeType=application/vnd.nextcloud;
|
||||
Actions=Quit;
|
||||
|
||||
# Translations
|
||||
Comment[oc]=Nextcloud sincronizacion del client
|
||||
GenericName[oc]=Dorsièr de Sincronizacion
|
||||
Name[oc]=Nextcloud sincronizacion del client
|
||||
Icon[oc]=Nextcloud
|
||||
Comment[ar]=Nextcloud زبون مزامنة مكتبي
|
||||
GenericName[ar]=مزامنة المجلد
|
||||
Name[ar]=Nextcloud زبون مزامنة مكتبي
|
||||
Icon[ar]=Nextcloud
|
||||
Comment[bg_BG]=Nextcloud клиент за десктоп синхронизация
|
||||
GenericName[bg_BG]=Синхронизиране на папката
|
||||
Name[bg_BG]=Nextcloud клиент десктоп синхронизация
|
||||
Icon[bg_BG]=Nextcloud
|
||||
Comment[ca]=Client de sincronització d'escriptori Nextcloud
|
||||
GenericName[ca]=Sincronització de carpetes
|
||||
Name[ca]=Client de sincronització d'escriptori Nextcloud
|
||||
Icon[ca]=Nextcloud
|
||||
Comment[da]=Nextcloud skrivebordsklient til synkronisering
|
||||
GenericName[da]=Mappesynkronisering
|
||||
Name[da]=Nextcloud skrivebordsklient til synk
|
||||
Icon[da]=Nextcloud
|
||||
Comment[de]=Nextcloud Desktop-Synchronisationsclient
|
||||
GenericName[de]=Ordner-Synchronisation
|
||||
Name[de]=Nextcloud Desktop-Synchronisationsclient
|
||||
Icon[de]=Nextcloud
|
||||
Comment[ja_JP]=Nextcloud デスクトップ同期クライアント
|
||||
GenericName[ja_JP]=フォルダー同期
|
||||
Name[ja_JP]=Nextcloud デスクトップ同期クライアント
|
||||
Icon[ja_JP]=Nextcloud
|
||||
Comment[el]=@ΟΝΟΜΑ_ΕΦΑΡΜΟΓΗΣ@ συγχρονισμός επιφάνειας εργασίας πελάτη
|
||||
GenericName[el]=Συγχρονισμός φακέλου
|
||||
Name[el]=@ΟΝΟΜΑ_ΕΦΑΡΜΟΓΗΣ@ συγχρονισμός επιφάνειας εργασίας πελάτη
|
||||
Icon[el]=Nextcloud
|
||||
Comment[en_GB]=Nextcloud desktop synchronisation client
|
||||
GenericName[en_GB]=Folder Sync
|
||||
Name[en_GB]=Nextcloud desktop sync client
|
||||
Icon[en_GB]=Nextcloud
|
||||
Comment[es]=Nextcloud cliente de sincronización de escritorio
|
||||
GenericName[es]=Sincronización de carpeta
|
||||
Name[es]=Nextcloud cliente de sincronización de escritorio
|
||||
Icon[es]=Nextcloud
|
||||
Comment[de_DE]=Nextcloud Desktop-Synchronisationsclient
|
||||
GenericName[de_DE]=Ordner-Synchronisation
|
||||
Name[de_DE]=Nextcloud Desktop-Synchronisationsclient
|
||||
Icon[de_DE]=Nextcloud
|
||||
Comment[eu]=Nextcloud mahaigaineko sinkronizazio bezeroa
|
||||
GenericName[eu]=Karpetaren sinkronizazioa
|
||||
Name[eu]=Nextcloud mahaigaineko sinkronizazio bezeroa
|
||||
Icon[eu]=Nextcloud
|
||||
GenericName[fa]=همسان سازی پوشهها
|
||||
Name[fa]=nextcloud نسخهی همسان سازی مشتری
|
||||
Icon[fa]=Nextcloud
|
||||
Comment[fr]=Synchronisez vos dossiers avec un serveur Nextcloud
|
||||
GenericName[fr]=Synchronisation de dossier
|
||||
Name[fr]=Client de synchronisation Nextcloud
|
||||
Icon[fr]=Nextcloud
|
||||
Comment[gl]=Nextcloud cliente de sincronización para escritorio
|
||||
GenericName[gl]=Sincronizar Cartafol
|
||||
Name[gl]=Nextcloud cliente de sincronización para escritorio
|
||||
Icon[gl]=Nextcloud
|
||||
Comment[he]=Nextcloud לקוח סנכון שולחן עבודה
|
||||
GenericName[he]=סנכון תיקייה
|
||||
Name[he]=Nextcloud לקוח סנכרון שולחן עבודה
|
||||
Icon[he]=Nextcloud
|
||||
Comment[ia]=Nextcloud cliente de synchronisation pro scriptorio
|
||||
GenericName[ia]=Synchronisar Dossier
|
||||
Name[ia]=Nextcloud cliente de synchronisation pro scriptorio
|
||||
Icon[ia]=Nextcloud
|
||||
Comment[id]=Klien sinkronisasi desktop Nextcloud
|
||||
GenericName[id]=Folder Sync
|
||||
Name[id]=Klien sync desktop Nextcloud
|
||||
Icon[id]=Nextcloud
|
||||
Comment[is]=Nextcloud skjáborðsforrit samstillingar
|
||||
GenericName[is]=Samstilling möppu
|
||||
Name[is]=Nextcloud skjáborðsforrit samstillingar
|
||||
Icon[is]=Nextcloud
|
||||
Comment[it]=Client di sincronizzazione del desktop di Nextcloud
|
||||
GenericName[it]=Sincronizzazione cartella
|
||||
Name[it]=Client di sincronizzazione del desktop di Nextcloud
|
||||
Icon[it]=Nextcloud
|
||||
Comment[ko]=Nextcloud 데스크톱 동기화 클라이언트
|
||||
GenericName[ko]=폴더 동기화
|
||||
Name[ko]=Nextcloud 데스크톱 동기화 클라이언트
|
||||
Icon[ko]=Nextcloud
|
||||
Comment[hu_HU]=Nextcloud asztali szinkronizációs kliens
|
||||
GenericName[hu_HU]=Könyvtár szinkronizálás
|
||||
Name[hu_HU]=Nextcloud asztali szinkr. kliens
|
||||
Icon[hu_HU]=Nextcloud
|
||||
Comment[af_ZA]=Nextcloud werkskermsinchroniseerkliënt
|
||||
GenericName[af_ZA]=Vouersinchronisering
|
||||
Name[af_ZA]=Nextcloud werkskermsinchroniseerkliënt
|
||||
Icon[af_ZA]=Nextcloud
|
||||
Comment[nl]=Nextcloud desktop synchronisatie client
|
||||
GenericName[nl]=Mappen sync
|
||||
Name[nl]=Nextcloud desktop sync client
|
||||
Icon[nl]=Nextcloud
|
||||
Comment[et_EE]=Nextcloud sünkroonimise klient töölauale
|
||||
GenericName[et_EE]=Kaustade sünkroonimine
|
||||
Name[et_EE]=Nextcloud sünkroonimise klient töölauale
|
||||
Icon[et_EE]=Nextcloud
|
||||
Comment[pl]=Nextcloud klient synchronizacji dla komputerów stacjonarnych
|
||||
GenericName[pl]=Folder Synchronizacji
|
||||
Name[pl]=Nextcloud klient synchronizacji dla komputerów stacjonarnych
|
||||
Icon[pl]=Nextcloud
|
||||
Comment[pt_BR]=Nextcloud cliente de sincronização do computador
|
||||
GenericName[pt_BR]=Sincronização de Pasta
|
||||
Name[pt_BR]=Nextcloud cliente de sincronização de desktop
|
||||
Icon[pt_BR]=Nextcloud
|
||||
Comment[cs_CZ]=Nextcloud počítačový synchronizační klient
|
||||
GenericName[cs_CZ]=Synchronizace adresáře
|
||||
Name[cs_CZ]=Nextcloud počítačový synchronizační klient
|
||||
Icon[cs_CZ]=Nextcloud
|
||||
Comment[ru]=Настольный клиент синхронизации Nextcloud
|
||||
GenericName[ru]=Синхронизация каталогов
|
||||
Name[ru]=Настольный клиент синхронизации Nextcloud
|
||||
Icon[ru]=Nextcloud
|
||||
Comment[sl]=Nextcloud ‒ Program za usklajevanje datotek z namizjem
|
||||
GenericName[sl]=Usklajevanje map
|
||||
Name[sl]=Nextcloud ‒ Program za usklajevanje datotek z namizjem
|
||||
Icon[sl]=Nextcloud
|
||||
Comment[sq]=Klient njëkohësimesh Nextcloud për desktop
|
||||
GenericName[sq]=Njëkohësim Dosjesh
|
||||
Name[sq]=Klient njëkohësimesh Nextcloud për desktop
|
||||
Icon[sq]=Nextcloud
|
||||
Comment[fi_FI]=Nextcloud työpöytäsynkronointisovellus
|
||||
GenericName[fi_FI]=Kansion synkronointi
|
||||
Name[fi_FI]=Nextcloud työpöytäsynkronointisovellus
|
||||
Icon[fi_FI]=Nextcloud
|
||||
Comment[sv]=Nextcloud desktop synkroniseringsklient
|
||||
GenericName[sv]=Mappsynk
|
||||
Name[sv]=Nextcloud desktop synk-klient
|
||||
Icon[sv]=Nextcloud
|
||||
Comment[tr]=Nextcloud masaüstü eşitleme istemcisi
|
||||
GenericName[tr]=Dosya Eşitleme
|
||||
Name[tr]=Nextcloud masaüstü eşitleme istemcisi
|
||||
Icon[tr]=Nextcloud
|
||||
Comment[uk]=Настільний клієнт синхронізації Nextcloud
|
||||
GenericName[uk]=Синхронізація теки
|
||||
Name[uk]=Настільний клієнт синхронізації Nextcloud
|
||||
Icon[uk]=Nextcloud
|
||||
Comment[ro]=Nextcloud client de sincronizare pe desktop
|
||||
GenericName[ro]=Sincronizare director
|
||||
Name[ro]=Nextcloud client de sincronizare pe desktop
|
||||
Icon[ro]=Nextcloud
|
||||
Comment[zh_CN]=Nextcloud 桌面同步客户端
|
||||
GenericName[zh_CN]=文件夹同步
|
||||
Name[zh_CN]=Nextcloud 桌面同步客户端
|
||||
Icon[zh_CN]=Nextcloud
|
||||
Comment[zh_HK]=桌面版同步客户端
|
||||
Comment[zh_TW]=Nextcloud 桌面同步客戶端
|
||||
GenericName[zh_TW]=資料夾同步
|
||||
Name[zh_TW]=Nextcloud 桌面同步客戶端
|
||||
Icon[zh_TW]=Nextcloud
|
||||
Comment[es_AR]=Cliente de sincronización para escritorio Nextcloud
|
||||
GenericName[es_AR]=Sincronización de directorio
|
||||
Name[es_AR]=Cliente de sincronización para escritorio Nextcloud
|
||||
Icon[es_AR]=Nextcloud
|
||||
Comment[lt_LT]=Nextcloud darbalaukio sinchronizavimo programa
|
||||
GenericName[lt_LT]=Katalogo sinchnorizacija
|
||||
Name[lt_LT]=Nextcloud darbalaukio programa
|
||||
Icon[lt_LT]=Nextcloud
|
||||
Comment[th_TH]=Nextcloud ไคลเอนต์ประสานข้อมูลเดสก์ท็อป
|
||||
GenericName[th_TH]=ประสานข้อมูลโฟลเดอร์
|
||||
Name[th_TH]= Nextcloud ไคลเอนต์ประสานข้อมูลเดสก์ท็อป
|
||||
Icon[th_TH]=Nextcloud
|
||||
Comment[es_MX]=Cliente de escritorio para sincronziación de Nextcloud
|
||||
GenericName[es_MX]=Sincronización de Carpetas
|
||||
Name[es_MX]=Cliente de escritorio para sincronziación de Nextcloud
|
||||
Icon[es_MX]=Nextcloud
|
||||
Comment[nb_NO]=Nextcloud skrivebordssynkroniseringsklient
|
||||
GenericName[nb_NO]=Mappesynkronisering
|
||||
Name[nb_NO]=Nextcloud skrivebordssynkroniseringsklient
|
||||
Icon[nb_NO]=Nextcloud
|
||||
Comment[nn_NO]=Nextcloud klient for å synkronisera frå skrivebord
|
||||
GenericName[nn_NO]=Mappe synkronisering
|
||||
Name[nn_NO]=Nextcloud klient for å synkronisera frå skrivebord
|
||||
Icon[nn_NO]=Nextcloud
|
||||
Comment[pt_PT]=Nextcloud - Cliente de Sincronização para PC
|
||||
GenericName[pt_PT]=Sincronizar Pasta
|
||||
Name[pt_PT]=Nextcloud - Cliente de Sincronização para PC
|
||||
Icon[pt_PT]=Nextcloud
|
||||
Icon[km]=Nextcloud
|
||||
Comment[lb]=Nextcloud Desktop Synchronisatioun Client
|
||||
GenericName[lb]=Dossier Dync
|
||||
Name[lb]=Nextcloud Desktop Sync Client
|
||||
Icon[lb]=Nextcloud
|
||||
|
||||
|
||||
[Desktop Action Quit]
|
||||
Exec=nextcloud --quit
|
||||
Name=Quit Nextcloud
|
||||
Icon=nextcloud
|
15
desktop/.config/autostart/jetbrains-toolbox.desktop
Normal file
15
desktop/.config/autostart/jetbrains-toolbox.desktop
Normal file
|
@ -0,0 +1,15 @@
|
|||
[Desktop Entry]
|
||||
Icon=/home/dhalucario/.local/share/JetBrains/Toolbox/toolbox.svg
|
||||
Exec=/home/dhalucario/.local/share/JetBrains/Toolbox/bin/jetbrains-toolbox --minimize
|
||||
Version=1.0
|
||||
Type=Application
|
||||
Categories=Development
|
||||
Name=JetBrains Toolbox
|
||||
StartupWMClass=jetbrains-toolbox
|
||||
Terminal=false
|
||||
MimeType=x-scheme-handler/jetbrains;
|
||||
X-GNOME-Autostart-enabled=true
|
||||
StartupNotify=false
|
||||
X-GNOME-Autostart-Delay=10
|
||||
X-MATE-Autostart-Delay=10
|
||||
X-KDE-autostart-after=panel
|
14
desktop/.config/autostart/mozilla-thunderbird.desktop
Normal file
14
desktop/.config/autostart/mozilla-thunderbird.desktop
Normal file
|
@ -0,0 +1,14 @@
|
|||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=Thunderbird
|
||||
GenericName=Email
|
||||
Comment=Send and Receive Email
|
||||
Exec=thunderbird %u
|
||||
TryExec=thunderbird
|
||||
Icon=thunderbird
|
||||
Terminal=false
|
||||
Type=Application
|
||||
MimeType=message/rfc822;x-scheme-handler/mailto;
|
||||
StartupNotify=true
|
||||
Categories=Network;Email;
|
||||
X-Desktop-File-Install-Version=0.24
|
31
desktop/.config/autostart/org.mozilla.Thunderbird.desktop
Normal file
31
desktop/.config/autostart/org.mozilla.Thunderbird.desktop
Normal file
|
@ -0,0 +1,31 @@
|
|||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Name=Thunderbird
|
||||
GenericName=Email
|
||||
Comment=Send and Receive Email
|
||||
Exec=/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=thunderbird --file-forwarding org.mozilla.Thunderbird @@u %u @@
|
||||
Icon=org.mozilla.Thunderbird
|
||||
Terminal=false
|
||||
Type=Application
|
||||
MimeType=message/rfc822;x-scheme-handler/mailto;
|
||||
StartupNotify=true
|
||||
Categories=Network;Email;
|
||||
Name[cs]=Poštovní klient Thunderbird
|
||||
Name[ca]=Client de correu Thunderbird
|
||||
Name[fi]=Thunderbird-sähköposti
|
||||
Name[fr]=Messagerie Thunderbird
|
||||
Name[pl]=Klient poczty Thunderbird
|
||||
Name[pt_BR]=Cliente de E-mail Thunderbird
|
||||
Name[sv]=E-postklienten Thunderbird
|
||||
Comment[ca]=Llegiu i escriviu correu
|
||||
Comment[cs]=Čtení a psaní pošty
|
||||
Comment[de]=Emails lesen und verfassen
|
||||
Comment[fi]=Lue ja kirjoita sähköposteja
|
||||
Comment[fr]=Lire et écrire des courriels
|
||||
Comment[it]=Leggere e scrivere email
|
||||
Comment[ja]=メールの読み書き
|
||||
Comment[pl]=Czytanie i wysyłanie e-maili
|
||||
Comment[pt_BR]=Ler e escrever suas mensagens
|
||||
Comment[sv]=Läs och skriv e-post
|
||||
X-Desktop-File-Install-Version=0.26
|
||||
X-Flatpak=org.mozilla.Thunderbird
|
10
desktop/.config/autostart/teams-for-linux.desktop
Normal file
10
desktop/.config/autostart/teams-for-linux.desktop
Normal file
|
@ -0,0 +1,10 @@
|
|||
[Desktop Entry]
|
||||
Name=Teams for Linux
|
||||
Exec=/opt/teams-for-linux/teams-for-linux %U
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Icon=teams-for-linux
|
||||
StartupWMClass=teams-for-linux
|
||||
Comment=Unofficial Microsoft Teams client for Linux using Electron. It uses the Web App and wraps it as a standalone application using Electron.
|
||||
MimeType=x-scheme-handler/msteams;
|
||||
Categories=Chat;Network;Office;
|
1244
desktop/.config/gzdoom/gzdoom.ini
Normal file
1244
desktop/.config/gzdoom/gzdoom.ini
Normal file
File diff suppressed because it is too large
Load diff
1474
desktop/.config/kitty/kitty.conf
Normal file
1474
desktop/.config/kitty/kitty.conf
Normal file
File diff suppressed because it is too large
Load diff
58
desktop/.config/ntfy/client.yml
Normal file
58
desktop/.config/ntfy/client.yml
Normal file
|
@ -0,0 +1,58 @@
|
|||
# ntfy client config file
|
||||
|
||||
# Base URL used to expand short topic names in the "ntfy publish" and "ntfy subscribe" commands.
|
||||
# If you self-host a ntfy server, you'll likely want to change this.
|
||||
#
|
||||
default-host: https://ntfy.413.one
|
||||
|
||||
# Default username and password will be used with "ntfy publish" if no credentials are provided on command line
|
||||
# Default username and password will be used with "ntfy subscribe" if no credentials are provided in subscription below
|
||||
# For an empty password, use empty double-quotes ("")
|
||||
#
|
||||
default-user: leon
|
||||
default-password: 1bims
|
||||
|
||||
# Default command will execute after "ntfy subscribe" receives a message if no command is provided in subscription below
|
||||
# default-command:
|
||||
|
||||
# Subscriptions to topics and their actions. This option is primarily used by the systemd service,
|
||||
# or if you cann "ntfy subscribe --from-config" directly.
|
||||
#
|
||||
# Example:
|
||||
# subscribe:
|
||||
# - topic: mytopic
|
||||
# command: /usr/local/bin/mytopic-triggered.sh
|
||||
# - topic: myserver.com/anothertopic
|
||||
# command: 'echo "$message"'
|
||||
# if:
|
||||
# priority: high,urgent
|
||||
# - topic: secret
|
||||
# command: 'notify-send "$m"'
|
||||
# user: phill
|
||||
# password: mypass
|
||||
#
|
||||
# Variables:
|
||||
# Variable Aliases Description
|
||||
# --------------- --------------------- -----------------------------------
|
||||
# $NTFY_ID $id Unique message ID
|
||||
# $NTFY_TIME $time Unix timestamp of the message delivery
|
||||
# $NTFY_TOPIC $topic Topic name
|
||||
# $NTFY_MESSAGE $message, $m Message body
|
||||
# $NTFY_TITLE $title, $t Message title
|
||||
# $NTFY_PRIORITY $priority, $prio, $p Message priority (1=min, 5=max)
|
||||
# $NTFY_TAGS $tags, $tag, $ta Message tags (comma separated list)
|
||||
# $NTFY_RAW $raw Raw JSON message
|
||||
#
|
||||
# Filters ('if:'):
|
||||
# You can filter 'message', 'title', 'priority' (comma-separated list, logical OR)
|
||||
# and 'tags' (comma-separated list, logical AND). See https://ntfy.sh/docs/subscribe/api/#filter-messages.
|
||||
#
|
||||
subscribe:
|
||||
- topic: 'leon-general'
|
||||
command: 'notify-send "$t" "$m"'
|
||||
- topic: 'leon-services'
|
||||
command: 'notify-send "$t" "$m"'
|
||||
# - topic: 'bonmercato-alerts'
|
||||
# command: 'notify-send "$t" "$m"'
|
||||
# - topic: 'bonmercato-imports'
|
||||
# command: 'notify-send "$t" "$m"'
|
279
desktop/.config/zandronum/zandronum.ini
Normal file
279
desktop/.config/zandronum/zandronum.ini
Normal file
|
@ -0,0 +1,279 @@
|
|||
# This file was generated by Zandronum 3.0 on Wed Sep 23 21:40:11 2020
|
||||
|
||||
# These are the directories to automatically search for IWADs.
|
||||
# Each directory should be on a separate line, preceded by Path=
|
||||
[IWADSearch.Directories]
|
||||
Path=.
|
||||
Path=$DOOMWADDIR
|
||||
Path=~/.config/zandronum
|
||||
Path=/usr/local/share/
|
||||
Path=~/wads
|
||||
|
||||
# These are the directories to search for wads added with the -file
|
||||
# command line parameter, if they cannot be found with the path
|
||||
# as-is. Layout is the same as for IWADSearch.Directories
|
||||
[FileSearch.Directories]
|
||||
Path=~/.config/zandronum
|
||||
Path=/usr/local/share/
|
||||
Path=$DOOMWADDIR
|
||||
Path=~/wads
|
||||
|
||||
# Files to automatically execute when running the corresponding game.
|
||||
# Each file should be on its own line, preceded by Path=
|
||||
|
||||
[Doom.AutoExec]
|
||||
Path=/home/dhalucario/.config/zandronum/autoexec.cfg
|
||||
|
||||
[Heretic.AutoExec]
|
||||
Path=/home/dhalucario/.config/zandronum/autoexec.cfg
|
||||
|
||||
[Hexen.AutoExec]
|
||||
Path=/home/dhalucario/.config/zandronum/autoexec.cfg
|
||||
|
||||
[Strife.AutoExec]
|
||||
Path=/home/dhalucario/.config/zandronum/autoexec.cfg
|
||||
|
||||
[Chex.AutoExec]
|
||||
Path=/home/dhalucario/.config/zandronum/autoexec.cfg
|
||||
|
||||
# WAD files to always load. These are loaded after the IWAD but before
|
||||
# any files added with -file. Place each file on its own line, preceded
|
||||
# by Path=
|
||||
[Global.Autoload]
|
||||
|
||||
# Wad files to automatically load depending on the game and IWAD you are
|
||||
# playing. You may have have files that are loaded for all similar IWADs
|
||||
# (the game) and files that are only loaded for particular IWADs. For example,
|
||||
# any files listed under Doom.Autoload will be loaded for any version of Doom,
|
||||
# but files listed under Doom2.Autoload will only load when you are
|
||||
# playing Doom 2.
|
||||
|
||||
[Doom.Autoload]
|
||||
|
||||
[Doom1.Autoload]
|
||||
|
||||
[Doom2.Autoload]
|
||||
|
||||
[TNT.Autoload]
|
||||
|
||||
[Plutonia.Autoload]
|
||||
|
||||
[Freedoom.Autoload]
|
||||
|
||||
[Freedoom1.Autoload]
|
||||
|
||||
[FreeDM.Autoload]
|
||||
|
||||
[Heretic.Autoload]
|
||||
|
||||
[Hexen.Autoload]
|
||||
|
||||
[HexenDK.Autoload]
|
||||
|
||||
[HexenDemo.Autoload]
|
||||
|
||||
[Strife.Autoload]
|
||||
|
||||
[Chex.Autoload]
|
||||
|
||||
[Chex3.Autoload]
|
||||
|
||||
[UrbanBrawl.Autoload]
|
||||
|
||||
[Harmony.Autoload]
|
||||
|
||||
[LastRun]
|
||||
Version=210
|
||||
Version-ZANDRONUM=181
|
||||
|
||||
[GlobalSettings]
|
||||
gus_memsize=0
|
||||
midi_dmxgus=true
|
||||
gus_patchdir=
|
||||
midi_timiditylike=false
|
||||
midi_voices=32
|
||||
midi_config=timidity.cfg
|
||||
fluid_chorus_type=0
|
||||
fluid_chorus_depth=8
|
||||
fluid_chorus_speed=0.3
|
||||
fluid_chorus_level=1.2
|
||||
fluid_chorus_voices=3
|
||||
fluid_reverb_level=0.57
|
||||
fluid_reverb_width=0.76
|
||||
fluid_reverb_damping=0.23
|
||||
fluid_reverb_roomsize=0.61
|
||||
fluid_threads=1
|
||||
fluid_samplerate=0
|
||||
fluid_interp=1
|
||||
fluid_voices=128
|
||||
fluid_chorus=true
|
||||
fluid_reverb=true
|
||||
fluid_gain=0.5
|
||||
fluid_patchset=
|
||||
opl_core=0
|
||||
opl_numchips=2
|
||||
timidity_frequency=22050
|
||||
timidity_pipe=90
|
||||
timidity_mastervolume=1
|
||||
timidity_byteswap=false
|
||||
timidity_8bit=false
|
||||
timidity_stereo=true
|
||||
timidity_reverb=0
|
||||
timidity_chorus=0
|
||||
timidity_extargs=
|
||||
timidity_exe=timidity
|
||||
snd_mididevice=-1
|
||||
spc_amp=1.875
|
||||
mod_autochip_scan_threshold=12
|
||||
mod_autochip_size_scan=500
|
||||
mod_autochip_size_force=100
|
||||
mod_autochip=false
|
||||
mod_interp=1
|
||||
mod_volramp=0
|
||||
mod_samplerate=0
|
||||
mod_dumb=true
|
||||
snd_sfxvolume=1
|
||||
snd_output=default
|
||||
snd_buffersize=0
|
||||
snd_samplerate=0
|
||||
snd_musicvolume=0.5
|
||||
snd_waterlp=250
|
||||
snd_midipatchset=
|
||||
snd_output_format=PCM-16
|
||||
snd_speakermode=Auto
|
||||
snd_resampler=Linear
|
||||
snd_waterreverb=true
|
||||
snd_hrtf=false
|
||||
snd_buffercount=0
|
||||
snd_driver=0
|
||||
opl_fullpan=true
|
||||
vid_contrast=1
|
||||
vid_brightness=0
|
||||
gl_render_precise=false
|
||||
gl_plane_reflection=true
|
||||
r_mirror_recursions=4
|
||||
gl_seamless=false
|
||||
gl_render_segs=false
|
||||
gl_mirror_envmap=true
|
||||
gl_texture_useshaders=true
|
||||
gl_glow_shader=true
|
||||
gl_brightmap_shader=false
|
||||
gl_colormap_shader=false
|
||||
gl_fog_shader=false
|
||||
gl_warp_shader=false
|
||||
gl_lights_additive=false
|
||||
gl_light_particles=true
|
||||
gl_light_sprites=true
|
||||
gl_lights_size=1
|
||||
gl_lights_intensity=1
|
||||
gl_lights_checkside=true
|
||||
gl_attachedlights=true
|
||||
gl_dynlight_shader=false
|
||||
gl_lights=true
|
||||
gl_usefb=false
|
||||
gl_mask_sprite_threshold=0.5
|
||||
gl_no_skyclear=false
|
||||
gl_sky_detail=16
|
||||
gl_enhanced_nv_stealth=3
|
||||
gl_billboard_particles=true
|
||||
gl_billboard_mode=0
|
||||
gl_particles_style=2
|
||||
gl_sprite_blend=false
|
||||
gl_spritebrightfog=false
|
||||
gl_usecolorblending=true
|
||||
gl_sort_textures=true
|
||||
gl_texture_hqresize_targets=7
|
||||
gl_texture_hqresize_maxinputsize=512
|
||||
gl_texture_hqresize=0
|
||||
gl_clamp_per_texture=false
|
||||
gl_texture_format=0
|
||||
gl_texture_filter=0
|
||||
gl_texture_filter_anisotropic=1
|
||||
gl_distfog=70
|
||||
gl_light_ambient=20
|
||||
gl_usevbo=-1
|
||||
vid_tft=true
|
||||
m_showinputgrid=false
|
||||
m_show_backbutton=0
|
||||
m_use_mouse=1
|
||||
show_messages=true
|
||||
mouse_sensitivity=1
|
||||
map_point_coordinates=true
|
||||
vid_aspect=0
|
||||
vid_nowidescreen=false
|
||||
vid_refreshrate=0
|
||||
vid_vsync=false
|
||||
vid_defbits=8
|
||||
vid_defheight=480
|
||||
vid_defwidth=640
|
||||
Gamma=1
|
||||
masterhostname=master.zandronum.com
|
||||
sv_showwarnings=false
|
||||
statfile=zdoomstat.txt
|
||||
savestatistics=0
|
||||
r_drawspectatingstring=true
|
||||
snd_flipstereo=false
|
||||
snd_channels=32
|
||||
r_columnmethod=1
|
||||
r_quakeintensity=1
|
||||
cl_oldfreelooklimit=false
|
||||
cl_spectatormove=1
|
||||
cl_noprediction=false
|
||||
telezoom=true
|
||||
r_fakecontrast=1
|
||||
chase_dist=90
|
||||
chase_height=-8
|
||||
gl_cachetime=0.6
|
||||
gl_cachenodes=true
|
||||
nomonsterinterpolation=false
|
||||
authhostname=auth.zandronum.com:16666
|
||||
png_gamma=0
|
||||
png_level=5
|
||||
screenshot_dir=
|
||||
screenshot_type=png
|
||||
screenshot_quiet=false
|
||||
use_joystick=false
|
||||
autosavecount=4
|
||||
disableautosave=0
|
||||
autosavenum=0
|
||||
smooth_mouse=false
|
||||
m_side=2
|
||||
m_forward=1
|
||||
m_yaw=1
|
||||
m_pitch=1
|
||||
lookstrafe=false
|
||||
freelook=true
|
||||
invertmouse=false
|
||||
cl_run=true
|
||||
demo_compress=true
|
||||
save_dir=
|
||||
longsavemessages=true
|
||||
storesavepic=true
|
||||
nofilecompression=false
|
||||
cl_capfps=false
|
||||
defaultiwad=
|
||||
queryiwad=true
|
||||
demo_pure=true
|
||||
con_ctrl_d=
|
||||
snd_announcervolume=1
|
||||
cl_allowmultipleannouncersounds=true
|
||||
cl_alwaysplayfragsleft=false
|
||||
showendoom=0
|
||||
gl_vid_multisample=0
|
||||
bgamma=1
|
||||
ggamma=1
|
||||
rgamma=1
|
||||
vid_asyncblit=true
|
||||
vid_displaybits=8
|
||||
mouse_capturemode=1
|
||||
cl_soundwhennotactive=true
|
||||
sdl_nokeyrepeat=false
|
||||
m_filter=false
|
||||
m_noprescale=false
|
||||
use_mouse=true
|
||||
vid_winscale=1
|
||||
fullscreen=false
|
||||
vid_maxfps=200
|
||||
vid_renderer=0
|
||||
|
||||
[GlobalSettings.Unknown]
|
13
desktop/.ideavimrc
Normal file
13
desktop/.ideavimrc
Normal file
|
@ -0,0 +1,13 @@
|
|||
let mapleader=" "
|
||||
|
||||
set easymotion
|
||||
set multiple-cursors
|
||||
set commentary
|
||||
set surround
|
||||
set sneak
|
||||
|
||||
" Copy to system clipboard as well
|
||||
set clipboard+=unnamedplus
|
||||
|
||||
vnoremap < <gv
|
||||
vnoremap > >gv
|
6
desktop/.xsession
Normal file
6
desktop/.xsession
Normal file
|
@ -0,0 +1,6 @@
|
|||
#!/usr/bin/env bash
|
||||
autorandr -c
|
||||
if (xrdb -query | grep -q "^awesome\\.started:\\s*true$"); then exit; fi
|
||||
xrdb -merge <<< "awesome.started:true"
|
||||
picom -b --config $HOME/.config/picom.conf
|
||||
dex-autostart --environment Awesome --autostart --search-paths "$HOME/.config/autostart:$HOME/autostart"
|
|
@ -1,13 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
|
||||
cp ./.config ~ -r
|
||||
cp ./.zcustom ~ -r
|
||||
cp ./.zplug ~ -r
|
||||
cp ./.oh-my-zsh ~ -r
|
||||
|
||||
cp ./.zshrc ~
|
||||
cp ./.vimrc ~
|
||||
cp ./.ideavimrc ~
|
||||
|
||||
mkdir ~/workspace
|
22
install.sh
22
install.sh
|
@ -1,22 +0,0 @@
|
|||
echo 'Starting installation'
|
||||
sudo dnf install -y \
|
||||
git zsh vim-enhanced tig \
|
||||
guake gvim firefox thunderbird keepassxc filezilla telegram-desktop nextcloud-client libreoffice lpf-spotify-client teamviewer flameshot \
|
||||
gnome-tweak-tool poedit pavucontrol ibus-uniemoji xsel apache-ant \
|
||||
mpv xt7-player-mpv \
|
||||
docker-ce docker-compose \
|
||||
php-cli php-json php-mysqli php-zip php-xml php-mbstring php-xdebug mysql wp-cli java
|
||||
|
||||
echo 'Switching shell to zsh'
|
||||
chsh -s $(which zsh)
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
||||
|
||||
cd ~
|
||||
mkdir workspace
|
||||
cd workspace
|
||||
git clone https://git.doggoat.de/dhalucario/devconf.git
|
||||
git submodule update --init --recusive
|
||||
rm README.md.html
|
||||
cp * ../
|
||||
cp .* ../
|
||||
vim +PlugInstall +qall
|
31
shell/.config/alacritty/alacritty.toml
Normal file
31
shell/.config/alacritty/alacritty.toml
Normal file
|
@ -0,0 +1,31 @@
|
|||
[window]
|
||||
padding = { x = 5, y = 5}
|
||||
opacity = 0.95
|
||||
blur = true
|
||||
|
||||
[terminal.shell]
|
||||
program = "/usr/bin/tmux"
|
||||
|
||||
[font]
|
||||
size = 13.0
|
||||
|
||||
[font.bold]
|
||||
family = "Hack"
|
||||
style = "Bold"
|
||||
|
||||
[font.bold_italic]
|
||||
family = "Hack"
|
||||
style = "Bold Italic"
|
||||
|
||||
[font.italic]
|
||||
family = "Hack"
|
||||
style = "Italic"
|
||||
|
||||
[font.normal]
|
||||
family = "Hack"
|
||||
style = "Regular"
|
||||
|
||||
[terminal]
|
||||
|
||||
|
||||
|
7
shell/.config/fish/completions/fisher.fish
Normal file
7
shell/.config/fish/completions/fisher.fish
Normal file
|
@ -0,0 +1,7 @@
|
|||
complete --command fisher --exclusive --long help --description "Print help"
|
||||
complete --command fisher --exclusive --long version --description "Print version"
|
||||
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments install --description "Install plugins"
|
||||
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments update --description "Update installed plugins"
|
||||
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments remove --description "Remove installed plugins"
|
||||
complete --command fisher --exclusive --condition __fish_use_subcommand --arguments list --description "List installed plugins matching regex"
|
||||
complete --command fisher --exclusive --condition "__fish_seen_subcommand_from update remove" --arguments "(fisher list)"
|
20
shell/.config/fish/config.fish
Normal file
20
shell/.config/fish/config.fish
Normal file
|
@ -0,0 +1,20 @@
|
|||
fish_add_path ~/.local/bin
|
||||
fish_add_path ~/.cargo/bin
|
||||
|
||||
if status is-interactive
|
||||
# Commands to run in interactive sessions can go here
|
||||
end
|
||||
# tabtab source for packages
|
||||
# uninstall by removing these lines
|
||||
[ -f ~/.config/tabtab/fish/__tabtab.fish ]; and . ~/.config/tabtab/fish/__tabtab.fish; or true
|
||||
|
||||
# pnpm
|
||||
set -gx PNPM_HOME "$HOME/.local/share/pnpm"
|
||||
if not string match -q -- $PNPM_HOME $PATH
|
||||
set -gx PATH "$PNPM_HOME" $PATH
|
||||
end
|
||||
# pnpm end
|
||||
|
||||
function fish_greeting
|
||||
fastfetch
|
||||
end
|
4
shell/.config/fish/fish_plugins
Normal file
4
shell/.config/fish/fish_plugins
Normal file
|
@ -0,0 +1,4 @@
|
|||
jorgebucaran/fisher
|
||||
isacikgoz/sashimi
|
||||
franciscolourenco/done
|
||||
patrickf1/fzf.fish
|
103
shell/.config/fish/fish_variables
Normal file
103
shell/.config/fish/fish_variables
Normal file
|
@ -0,0 +1,103 @@
|
|||
# This file contains fish universal variable definitions.
|
||||
# VERSION: 3.0
|
||||
SETUVAR __fish_initialized:3400
|
||||
SETUVAR _fisher_franciscolourenco_2F_done_files:\x7e/\x2econfig/fish/conf\x2ed/done\x2efish
|
||||
SETUVAR _fisher_jorgebucaran_2F_fisher_files:\x7e/\x2econfig/fish/functions/fisher\x2efish\x1e\x7e/\x2econfig/fish/completions/fisher\x2efish
|
||||
SETUVAR _fisher_patrickf1_2F_fzf_2E_fish_files:\x7e/\x2econfig/fish/functions/_fzf_configure_bindings_help\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_extract_var_info\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_preview_changed_file\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_preview_file\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_report_diff_type\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_report_file_type\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_directory\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_git_log\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_git_status\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_history\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_processes\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_search_variables\x2efish\x1e\x7e/\x2econfig/fish/functions/_fzf_wrapper\x2efish\x1e\x7e/\x2econfig/fish/functions/fzf_configure_bindings\x2efish\x1e\x7e/\x2econfig/fish/conf\x2ed/fzf\x2efish\x1e\x7e/\x2econfig/fish/completions/fzf_configure_bindings\x2efish
|
||||
SETUVAR _fisher_plugins:jorgebucaran/fisher\x1eisacikgoz/sashimi\x1efranciscolourenco/done\x1epatrickf1/fzf\x2efish
|
||||
SETUVAR _fisher_upgraded_to_4_4:\x1d
|
||||
SETUVAR fish_color_autosuggestion:brblack
|
||||
SETUVAR fish_color_cancel:\x2dr
|
||||
SETUVAR fish_color_command:blue
|
||||
SETUVAR fish_color_comment:red
|
||||
SETUVAR fish_color_cwd:green
|
||||
SETUVAR fish_color_cwd_root:red
|
||||
SETUVAR fish_color_end:green
|
||||
SETUVAR fish_color_error:brred
|
||||
SETUVAR fish_color_escape:brcyan
|
||||
SETUVAR fish_color_history_current:\x2d\x2dbold
|
||||
SETUVAR fish_color_host:normal
|
||||
SETUVAR fish_color_host_remote:yellow
|
||||
SETUVAR fish_color_normal:normal
|
||||
SETUVAR fish_color_operator:brcyan
|
||||
SETUVAR fish_color_param:cyan
|
||||
SETUVAR fish_color_quote:yellow
|
||||
SETUVAR fish_color_redirection:cyan\x1e\x2d\x2dbold
|
||||
SETUVAR fish_color_search_match:bryellow\x1e\x2d\x2dbackground\x3dbrblack
|
||||
SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrblack
|
||||
SETUVAR fish_color_status:red
|
||||
SETUVAR fish_color_user:brgreen
|
||||
SETUVAR fish_color_valid_path:\x2d\x2dunderline
|
||||
SETUVAR fish_key_bindings:fish_default_key_bindings
|
||||
SETUVAR fish_pager_color_completion:normal
|
||||
SETUVAR fish_pager_color_description:yellow\x1e\x2di
|
||||
SETUVAR fish_pager_color_prefix:normal\x1e\x2d\x2dbold\x1e\x2d\x2dunderline
|
||||
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
|
||||
SETUVAR fish_pager_color_selected_background:\x2dr
|
||||
SETUVAR fish_user_paths:/home/leon/\x2edeno/bin\x1e/home/leon/\x2ecargo/bin\x1e/home/leon/\x2elocal/bin
|
||||
SETUVAR pure_begin_prompt_with_current_directory:true
|
||||
SETUVAR pure_check_for_new_release:false
|
||||
SETUVAR pure_color_at_sign:pure_color_mute
|
||||
SETUVAR pure_color_aws_profile:pure_color_warning
|
||||
SETUVAR pure_color_command_duration:pure_color_warning
|
||||
SETUVAR pure_color_current_directory:pure_color_primary
|
||||
SETUVAR pure_color_danger:red
|
||||
SETUVAR pure_color_dark:black
|
||||
SETUVAR pure_color_git_branch:pure_color_mute
|
||||
SETUVAR pure_color_git_dirty:pure_color_mute
|
||||
SETUVAR pure_color_git_stash:pure_color_info
|
||||
SETUVAR pure_color_git_unpulled_commits:pure_color_info
|
||||
SETUVAR pure_color_git_unpushed_commits:pure_color_info
|
||||
SETUVAR pure_color_hostname:pure_color_mute
|
||||
SETUVAR pure_color_info:cyan
|
||||
SETUVAR pure_color_jobs:pure_color_normal
|
||||
SETUVAR pure_color_k8s_context:pure_color_success
|
||||
SETUVAR pure_color_k8s_namespace:pure_color_primary
|
||||
SETUVAR pure_color_k8s_prefix:pure_color_info
|
||||
SETUVAR pure_color_light:white
|
||||
SETUVAR pure_color_mute:brblack
|
||||
SETUVAR pure_color_nixdevshell_prefix:pure_color_info
|
||||
SETUVAR pure_color_nixdevshell_symbol:pure_color_mute
|
||||
SETUVAR pure_color_normal:normal
|
||||
SETUVAR pure_color_prefix_root_prompt:pure_color_danger
|
||||
SETUVAR pure_color_primary:blue
|
||||
SETUVAR pure_color_prompt_on_error:pure_color_danger
|
||||
SETUVAR pure_color_prompt_on_success:pure_color_success
|
||||
SETUVAR pure_color_success:magenta
|
||||
SETUVAR pure_color_system_time:pure_color_mute
|
||||
SETUVAR pure_color_username_normal:pure_color_mute
|
||||
SETUVAR pure_color_username_root:pure_color_light
|
||||
SETUVAR pure_color_virtualenv:pure_color_mute
|
||||
SETUVAR pure_color_warning:yellow
|
||||
SETUVAR pure_enable_aws_profile:true
|
||||
SETUVAR pure_enable_container_detection:true
|
||||
SETUVAR pure_enable_git:true
|
||||
SETUVAR pure_enable_k8s:false
|
||||
SETUVAR pure_enable_nixdevshell:false
|
||||
SETUVAR pure_enable_single_line_prompt:false
|
||||
SETUVAR pure_enable_virtualenv:true
|
||||
SETUVAR pure_reverse_prompt_symbol_in_vimode:true
|
||||
SETUVAR pure_separate_prompt_on_error:false
|
||||
SETUVAR pure_shorten_prompt_current_directory_length:0
|
||||
SETUVAR pure_shorten_window_title_current_directory_length:0
|
||||
SETUVAR pure_show_jobs:false
|
||||
SETUVAR pure_show_prefix_root_prompt:false
|
||||
SETUVAR pure_show_subsecond_command_duration:false
|
||||
SETUVAR pure_show_system_time:false
|
||||
SETUVAR pure_symbol_aws_profile_prefix:
|
||||
SETUVAR pure_symbol_container_prefix:
|
||||
SETUVAR pure_symbol_git_dirty:\x2a
|
||||
SETUVAR pure_symbol_git_stash:\u2261
|
||||
SETUVAR pure_symbol_git_unpulled_commits:\u21e3
|
||||
SETUVAR pure_symbol_git_unpushed_commits:\u21e1
|
||||
SETUVAR pure_symbol_k8s_prefix:\u2638
|
||||
SETUVAR pure_symbol_nixdevshell_prefix:\u2744\ufe0f
|
||||
SETUVAR pure_symbol_prefix_root_prompt:\x23
|
||||
SETUVAR pure_symbol_prompt:\u276f
|
||||
SETUVAR pure_symbol_reverse_prompt:\u276e
|
||||
SETUVAR pure_symbol_ssh_prefix:
|
||||
SETUVAR pure_symbol_title_bar_separator:\x2d
|
||||
SETUVAR pure_symbol_virtualenv_prefix:
|
||||
SETUVAR pure_threshold_command_duration:5
|
||||
SETUVAR pure_truncate_prompt_current_directory_keeps:\x2d1
|
||||
SETUVAR pure_truncate_window_title_current_directory_keeps:\x2d1
|
240
shell/.config/fish/functions/fisher.fish
Normal file
240
shell/.config/fish/functions/fisher.fish
Normal file
|
@ -0,0 +1,240 @@
|
|||
function fisher --argument-names cmd --description "A plugin manager for Fish"
|
||||
set --query fisher_path || set --local fisher_path $__fish_config_dir
|
||||
set --local fisher_version 4.4.5
|
||||
set --local fish_plugins $__fish_config_dir/fish_plugins
|
||||
|
||||
switch "$cmd"
|
||||
case -v --version
|
||||
echo "fisher, version $fisher_version"
|
||||
case "" -h --help
|
||||
echo "Usage: fisher install <plugins...> Install plugins"
|
||||
echo " fisher remove <plugins...> Remove installed plugins"
|
||||
echo " fisher update <plugins...> Update installed plugins"
|
||||
echo " fisher update Update all installed plugins"
|
||||
echo " fisher list [<regex>] List installed plugins matching regex"
|
||||
echo "Options:"
|
||||
echo " -v, --version Print version"
|
||||
echo " -h, --help Print this help message"
|
||||
echo "Variables:"
|
||||
echo " \$fisher_path Plugin installation path. Default: $__fish_config_dir" | string replace --regex -- $HOME \~
|
||||
case ls list
|
||||
string match --entire --regex -- "$argv[2]" $_fisher_plugins
|
||||
case install update remove
|
||||
isatty || read --local --null --array stdin && set --append argv $stdin
|
||||
|
||||
set --local install_plugins
|
||||
set --local update_plugins
|
||||
set --local remove_plugins
|
||||
set --local arg_plugins $argv[2..-1]
|
||||
set --local old_plugins $_fisher_plugins
|
||||
set --local new_plugins
|
||||
|
||||
test -e $fish_plugins && set --local file_plugins (string match --regex -- '^[^\s]+$' <$fish_plugins | string replace -- \~ ~)
|
||||
|
||||
if ! set --query argv[2]
|
||||
if test "$cmd" != update
|
||||
echo "fisher: Not enough arguments for command: \"$cmd\"" >&2 && return 1
|
||||
else if ! set --query file_plugins
|
||||
echo "fisher: \"$fish_plugins\" file not found: \"$cmd\"" >&2 && return 1
|
||||
end
|
||||
set arg_plugins $file_plugins
|
||||
end
|
||||
|
||||
for plugin in $arg_plugins
|
||||
set plugin (test -e "$plugin" && realpath $plugin || string lower -- $plugin)
|
||||
contains -- "$plugin" $new_plugins || set --append new_plugins $plugin
|
||||
end
|
||||
|
||||
if set --query argv[2]
|
||||
for plugin in $new_plugins
|
||||
if contains -- "$plugin" $old_plugins
|
||||
test "$cmd" = remove &&
|
||||
set --append remove_plugins $plugin ||
|
||||
set --append update_plugins $plugin
|
||||
else if test "$cmd" = install
|
||||
set --append install_plugins $plugin
|
||||
else
|
||||
echo "fisher: Plugin not installed: \"$plugin\"" >&2 && return 1
|
||||
end
|
||||
end
|
||||
else
|
||||
for plugin in $new_plugins
|
||||
contains -- "$plugin" $old_plugins &&
|
||||
set --append update_plugins $plugin ||
|
||||
set --append install_plugins $plugin
|
||||
end
|
||||
|
||||
for plugin in $old_plugins
|
||||
contains -- "$plugin" $new_plugins || set --append remove_plugins $plugin
|
||||
end
|
||||
end
|
||||
|
||||
set --local pid_list
|
||||
set --local source_plugins
|
||||
set --local fetch_plugins $update_plugins $install_plugins
|
||||
set --local fish_path (status fish-path)
|
||||
|
||||
echo (set_color --bold)fisher $cmd version $fisher_version(set_color normal)
|
||||
|
||||
for plugin in $fetch_plugins
|
||||
set --local source (command mktemp -d)
|
||||
set --append source_plugins $source
|
||||
|
||||
command mkdir -p $source/{completions,conf.d,themes,functions}
|
||||
|
||||
$fish_path --command "
|
||||
if test -e $plugin
|
||||
command cp -Rf $plugin/* $source
|
||||
else
|
||||
set temp (command mktemp -d)
|
||||
set repo (string split -- \@ $plugin) || set repo[2] HEAD
|
||||
|
||||
if set path (string replace --regex -- '^(https://)?gitlab.com/' '' \$repo[1])
|
||||
set name (string split -- / \$path)[-1]
|
||||
set url https://gitlab.com/\$path/-/archive/\$repo[2]/\$name-\$repo[2].tar.gz
|
||||
else
|
||||
set url https://api.github.com/repos/\$repo[1]/tarball/\$repo[2]
|
||||
end
|
||||
|
||||
echo Fetching (set_color --underline)\$url(set_color normal)
|
||||
|
||||
if command curl -q --silent -L \$url | command tar -xzC \$temp -f - 2>/dev/null
|
||||
command cp -Rf \$temp/*/* $source
|
||||
else
|
||||
echo fisher: Invalid plugin name or host unavailable: \\\"$plugin\\\" >&2
|
||||
command rm -rf $source
|
||||
end
|
||||
|
||||
command rm -rf \$temp
|
||||
end
|
||||
|
||||
set files $source/* && string match --quiet --regex -- .+\.fish\\\$ \$files
|
||||
" &
|
||||
|
||||
set --append pid_list (jobs --last --pid)
|
||||
end
|
||||
|
||||
wait $pid_list 2>/dev/null
|
||||
|
||||
for plugin in $fetch_plugins
|
||||
if set --local source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)] && test ! -e $source
|
||||
if set --local index (contains --index -- "$plugin" $install_plugins)
|
||||
set --erase install_plugins[$index]
|
||||
else
|
||||
set --erase update_plugins[(contains --index -- "$plugin" $update_plugins)]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
for plugin in $update_plugins $remove_plugins
|
||||
if set --local index (contains --index -- "$plugin" $_fisher_plugins)
|
||||
set --local plugin_files_var _fisher_(string escape --style=var -- $plugin)_files
|
||||
|
||||
if contains -- "$plugin" $remove_plugins
|
||||
for name in (string replace --filter --regex -- '.+/conf\.d/([^/]+)\.fish$' '$1' $$plugin_files_var)
|
||||
emit {$name}_uninstall
|
||||
end
|
||||
printf "%s\n" Removing\ (set_color red --bold)$plugin(set_color normal) " "$$plugin_files_var | string replace -- \~ ~
|
||||
set --erase _fisher_plugins[$index]
|
||||
end
|
||||
|
||||
command rm -rf (string replace -- \~ ~ $$plugin_files_var)
|
||||
|
||||
functions --erase (string replace --filter --regex -- '.+/functions/([^/]+)\.fish$' '$1' $$plugin_files_var)
|
||||
|
||||
for name in (string replace --filter --regex -- '.+/completions/([^/]+)\.fish$' '$1' $$plugin_files_var)
|
||||
complete --erase --command $name
|
||||
end
|
||||
|
||||
set --erase $plugin_files_var
|
||||
end
|
||||
end
|
||||
|
||||
if set --query update_plugins[1] || set --query install_plugins[1]
|
||||
command mkdir -p $fisher_path/{functions,themes,conf.d,completions}
|
||||
end
|
||||
|
||||
for plugin in $update_plugins $install_plugins
|
||||
set --local source $source_plugins[(contains --index -- "$plugin" $fetch_plugins)]
|
||||
set --local files $source/{functions,themes,conf.d,completions}/*
|
||||
|
||||
if set --local index (contains --index -- $plugin $install_plugins)
|
||||
set --local user_files $fisher_path/{functions,themes,conf.d,completions}/*
|
||||
set --local conflict_files
|
||||
|
||||
for file in (string replace -- $source/ $fisher_path/ $files)
|
||||
contains -- $file $user_files && set --append conflict_files $file
|
||||
end
|
||||
|
||||
if set --query conflict_files[1] && set --erase install_plugins[$index]
|
||||
echo -s "fisher: Cannot install \"$plugin\": please remove or move conflicting files first:" \n" "$conflict_files >&2
|
||||
continue
|
||||
end
|
||||
end
|
||||
|
||||
for file in (string replace -- $source/ "" $files)
|
||||
command cp -RLf $source/$file $fisher_path/$file
|
||||
end
|
||||
|
||||
set --local plugin_files_var _fisher_(string escape --style=var -- $plugin)_files
|
||||
|
||||
set --query files[1] && set --universal $plugin_files_var (string replace -- $source $fisher_path $files | string replace -- ~ \~)
|
||||
|
||||
contains -- $plugin $_fisher_plugins || set --universal --append _fisher_plugins $plugin
|
||||
contains -- $plugin $install_plugins && set --local event install || set --local event update
|
||||
|
||||
printf "%s\n" Installing\ (set_color --bold)$plugin(set_color normal) " "$$plugin_files_var | string replace -- \~ ~
|
||||
|
||||
for file in (string match --regex -- '.+/[^/]+\.fish$' $$plugin_files_var | string replace -- \~ ~)
|
||||
source $file
|
||||
if set --local name (string replace --regex -- '.+conf\.d/([^/]+)\.fish$' '$1' $file)
|
||||
emit {$name}_$event
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
command rm -rf $source_plugins
|
||||
|
||||
if set --query _fisher_plugins[1]
|
||||
set --local commit_plugins
|
||||
|
||||
for plugin in $file_plugins
|
||||
contains -- (string lower -- $plugin) (string lower -- $_fisher_plugins) && set --append commit_plugins $plugin
|
||||
end
|
||||
|
||||
for plugin in $_fisher_plugins
|
||||
contains -- (string lower -- $plugin) (string lower -- $commit_plugins) || set --append commit_plugins $plugin
|
||||
end
|
||||
|
||||
string replace --regex -- $HOME \~ $commit_plugins >$fish_plugins
|
||||
else
|
||||
set --erase _fisher_plugins
|
||||
command rm -f $fish_plugins
|
||||
end
|
||||
|
||||
set --local total (count $install_plugins) (count $update_plugins) (count $remove_plugins)
|
||||
|
||||
test "$total" != "0 0 0" && echo (string join ", " (
|
||||
test $total[1] = 0 || echo "Installed $total[1]") (
|
||||
test $total[2] = 0 || echo "Updated $total[2]") (
|
||||
test $total[3] = 0 || echo "Removed $total[3]")
|
||||
) plugin/s
|
||||
case \*
|
||||
echo "fisher: Unknown command: \"$cmd\"" >&2 && return 1
|
||||
end
|
||||
end
|
||||
|
||||
if ! set --query _fisher_upgraded_to_4_4
|
||||
set --universal _fisher_upgraded_to_4_4
|
||||
if functions --query _fisher_list
|
||||
set --query XDG_DATA_HOME[1] || set --local XDG_DATA_HOME ~/.local/share
|
||||
command rm -rf $XDG_DATA_HOME/fisher
|
||||
functions --erase _fisher_{list,plugin_parse}
|
||||
fisher update >/dev/null 2>/dev/null
|
||||
else
|
||||
for var in (set --names | string match --entire --regex '^_fisher_.+_files$')
|
||||
set $var (string replace -- ~ \~ $$var)
|
||||
end
|
||||
functions --erase _fisher_fish_postexec
|
||||
end
|
||||
end
|
544
shell/.config/nushell/config.nu
Normal file
544
shell/.config/nushell/config.nu
Normal file
|
@ -0,0 +1,544 @@
|
|||
# Nushell Config File
|
||||
#
|
||||
# version = 0.79.0
|
||||
|
||||
# For more information on defining custom themes, see
|
||||
# https://www.nushell.sh/book/coloring_and_theming.html
|
||||
# And here is the theme collection
|
||||
# https://github.com/nushell/nu_scripts/tree/main/themes
|
||||
let dark_theme = {
|
||||
# color for nushell primitives
|
||||
separator: white
|
||||
leading_trailing_space_bg: { attr: n } # no fg, no bg, attr none effectively turns this off
|
||||
header: green_bold
|
||||
empty: blue
|
||||
# Closures can be used to choose colors for specific values.
|
||||
# The value (in this case, a bool) is piped into the closure.
|
||||
bool: {|| if $in { 'light_cyan' } else { 'light_gray' } }
|
||||
int: white
|
||||
filesize: {|e|
|
||||
if $e == 0b {
|
||||
'white'
|
||||
} else if $e < 1mb {
|
||||
'cyan'
|
||||
} else { 'blue' }
|
||||
}
|
||||
duration: white
|
||||
date: {|| (date now) - $in |
|
||||
if $in < 1hr {
|
||||
'purple'
|
||||
} else if $in < 6hr {
|
||||
'red'
|
||||
} else if $in < 1day {
|
||||
'yellow'
|
||||
} else if $in < 3day {
|
||||
'green'
|
||||
} else if $in < 1wk {
|
||||
'light_green'
|
||||
} else if $in < 6wk {
|
||||
'cyan'
|
||||
} else if $in < 52wk {
|
||||
'blue'
|
||||
} else { 'dark_gray' }
|
||||
}
|
||||
range: white
|
||||
float: white
|
||||
string: white
|
||||
nothing: white
|
||||
binary: white
|
||||
cellpath: white
|
||||
row_index: green_bold
|
||||
record: white
|
||||
list: white
|
||||
block: white
|
||||
hints: dark_gray
|
||||
|
||||
shape_and: purple_bold
|
||||
shape_binary: purple_bold
|
||||
shape_block: blue_bold
|
||||
shape_bool: light_cyan
|
||||
shape_closure: green_bold
|
||||
shape_custom: green
|
||||
shape_datetime: cyan_bold
|
||||
shape_directory: cyan
|
||||
shape_external: cyan
|
||||
shape_externalarg: green_bold
|
||||
shape_filepath: cyan
|
||||
shape_flag: blue_bold
|
||||
shape_float: purple_bold
|
||||
# shapes are used to change the cli syntax highlighting
|
||||
shape_garbage: { fg: white bg: red attr: b}
|
||||
shape_globpattern: cyan_bold
|
||||
shape_int: purple_bold
|
||||
shape_internalcall: cyan_bold
|
||||
shape_list: cyan_bold
|
||||
shape_literal: blue
|
||||
shape_match_pattern: green
|
||||
shape_matching_brackets: { attr: u }
|
||||
shape_nothing: light_cyan
|
||||
shape_operator: yellow
|
||||
shape_or: purple_bold
|
||||
shape_pipe: purple_bold
|
||||
shape_range: yellow_bold
|
||||
shape_record: cyan_bold
|
||||
shape_redirection: purple_bold
|
||||
shape_signature: green_bold
|
||||
shape_string: green
|
||||
shape_string_interpolation: cyan_bold
|
||||
shape_table: blue_bold
|
||||
shape_variable: purple
|
||||
shape_vardecl: purple
|
||||
}
|
||||
|
||||
let light_theme = {
|
||||
# color for nushell primitives
|
||||
separator: dark_gray
|
||||
leading_trailing_space_bg: { attr: n } # no fg, no bg, attr none effectively turns this off
|
||||
header: green_bold
|
||||
empty: blue
|
||||
# Closures can be used to choose colors for specific values.
|
||||
# The value (in this case, a bool) is piped into the closure.
|
||||
bool: {|| if $in { 'dark_cyan' } else { 'dark_gray' } }
|
||||
int: dark_gray
|
||||
filesize: {|e|
|
||||
if $e == 0b {
|
||||
'dark_gray'
|
||||
} else if $e < 1mb {
|
||||
'cyan_bold'
|
||||
} else { 'blue_bold' }
|
||||
}
|
||||
duration: dark_gray
|
||||
date: {|| (date now) - $in |
|
||||
if $in < 1hr {
|
||||
'purple'
|
||||
} else if $in < 6hr {
|
||||
'red'
|
||||
} else if $in < 1day {
|
||||
'yellow'
|
||||
} else if $in < 3day {
|
||||
'green'
|
||||
} else if $in < 1wk {
|
||||
'light_green'
|
||||
} else if $in < 6wk {
|
||||
'cyan'
|
||||
} else if $in < 52wk {
|
||||
'blue'
|
||||
} else { 'dark_gray' }
|
||||
}
|
||||
range: dark_gray
|
||||
float: dark_gray
|
||||
string: dark_gray
|
||||
nothing: dark_gray
|
||||
binary: dark_gray
|
||||
cellpath: dark_gray
|
||||
row_index: green_bold
|
||||
record: white
|
||||
list: white
|
||||
block: white
|
||||
hints: dark_gray
|
||||
|
||||
shape_and: purple_bold
|
||||
shape_binary: purple_bold
|
||||
shape_block: blue_bold
|
||||
shape_bool: light_cyan
|
||||
shape_closure: green_bold
|
||||
shape_custom: green
|
||||
shape_datetime: cyan_bold
|
||||
shape_directory: cyan
|
||||
shape_external: cyan
|
||||
shape_externalarg: green_bold
|
||||
shape_filepath: cyan
|
||||
shape_flag: blue_bold
|
||||
shape_float: purple_bold
|
||||
# shapes are used to change the cli syntax highlighting
|
||||
shape_garbage: { fg: white bg: red attr: b}
|
||||
shape_globpattern: cyan_bold
|
||||
shape_int: purple_bold
|
||||
shape_internalcall: cyan_bold
|
||||
shape_list: cyan_bold
|
||||
shape_literal: blue
|
||||
shape_match_pattern: green
|
||||
shape_matching_brackets: { attr: u }
|
||||
shape_nothing: light_cyan
|
||||
shape_operator: yellow
|
||||
shape_or: purple_bold
|
||||
shape_pipe: purple_bold
|
||||
shape_range: yellow_bold
|
||||
shape_record: cyan_bold
|
||||
shape_redirection: purple_bold
|
||||
shape_signature: green_bold
|
||||
shape_string: green
|
||||
shape_string_interpolation: cyan_bold
|
||||
shape_table: blue_bold
|
||||
shape_variable: purple
|
||||
shape_vardecl: purple
|
||||
}
|
||||
|
||||
# External completer example
|
||||
# let carapace_completer = {|spans|
|
||||
# carapace $spans.0 nushell $spans | from json
|
||||
# }
|
||||
|
||||
|
||||
# The default config record. This is where much of your global configuration is setup.
|
||||
let-env config = {
|
||||
# true or false to enable or disable the welcome banner at startup
|
||||
show_banner: true
|
||||
ls: {
|
||||
use_ls_colors: true # use the LS_COLORS environment variable to colorize output
|
||||
clickable_links: true # enable or disable clickable links. Your terminal has to support links.
|
||||
}
|
||||
rm: {
|
||||
always_trash: false # always act as if -t was given. Can be overridden with -p
|
||||
}
|
||||
cd: {
|
||||
abbreviations: false # allows `cd s/o/f` to expand to `cd some/other/folder`
|
||||
}
|
||||
table: {
|
||||
mode: rounded # basic, compact, compact_double, light, thin, with_love, rounded, reinforced, heavy, none, other
|
||||
index_mode: always # "always" show indexes, "never" show indexes, "auto" = show indexes when a table has "index" column
|
||||
show_empty: true # show 'empty list' and 'empty record' placeholders for command output
|
||||
trim: {
|
||||
methodology: wrapping # wrapping or truncating
|
||||
wrapping_try_keep_words: true # A strategy used by the 'wrapping' methodology
|
||||
truncating_suffix: "..." # A suffix used by the 'truncating' methodology
|
||||
}
|
||||
}
|
||||
|
||||
explore: {
|
||||
help_banner: true
|
||||
exit_esc: true
|
||||
|
||||
command_bar_text: '#C4C9C6'
|
||||
# command_bar: {fg: '#C4C9C6' bg: '#223311' }
|
||||
|
||||
status_bar_background: {fg: '#1D1F21' bg: '#C4C9C6' }
|
||||
# status_bar_text: {fg: '#C4C9C6' bg: '#223311' }
|
||||
|
||||
highlight: {bg: 'yellow' fg: 'black' }
|
||||
|
||||
status: {
|
||||
# warn: {bg: 'yellow', fg: 'blue'}
|
||||
# error: {bg: 'yellow', fg: 'blue'}
|
||||
# info: {bg: 'yellow', fg: 'blue'}
|
||||
}
|
||||
|
||||
try: {
|
||||
# border_color: 'red'
|
||||
# highlighted_color: 'blue'
|
||||
|
||||
# reactive: false
|
||||
}
|
||||
|
||||
table: {
|
||||
split_line: '#404040'
|
||||
|
||||
cursor: true
|
||||
|
||||
line_index: true
|
||||
line_shift: true
|
||||
line_head_top: true
|
||||
line_head_bottom: true
|
||||
|
||||
show_head: true
|
||||
show_index: true
|
||||
|
||||
# selected_cell: {fg: 'white', bg: '#777777'}
|
||||
# selected_row: {fg: 'yellow', bg: '#C1C2A3'}
|
||||
# selected_column: blue
|
||||
|
||||
# padding_column_right: 2
|
||||
# padding_column_left: 2
|
||||
|
||||
# padding_index_left: 2
|
||||
# padding_index_right: 1
|
||||
}
|
||||
|
||||
config: {
|
||||
cursor_color: {bg: 'yellow' fg: 'black' }
|
||||
|
||||
# border_color: white
|
||||
# list_color: green
|
||||
}
|
||||
}
|
||||
|
||||
history: {
|
||||
max_size: 10000 # Session has to be reloaded for this to take effect
|
||||
sync_on_enter: true # Enable to share history between multiple sessions, else you have to close the session to write history to file
|
||||
file_format: "plaintext" # "sqlite" or "plaintext"
|
||||
}
|
||||
completions: {
|
||||
case_sensitive: false # set to true to enable case-sensitive completions
|
||||
quick: true # set this to false to prevent auto-selecting completions when only one remains
|
||||
partial: true # set this to false to prevent partial filling of the prompt
|
||||
algorithm: "prefix" # prefix or fuzzy
|
||||
external: {
|
||||
enable: true # set to false to prevent nushell looking into $env.PATH to find more suggestions, `false` recommended for WSL users as this look up my be very slow
|
||||
max_results: 100 # setting it lower can improve completion performance at the cost of omitting some options
|
||||
completer: null # check 'carapace_completer' above as an example
|
||||
}
|
||||
}
|
||||
filesize: {
|
||||
metric: true # true => KB, MB, GB (ISO standard), false => KiB, MiB, GiB (Windows standard)
|
||||
format: "auto" # b, kb, kib, mb, mib, gb, gib, tb, tib, pb, pib, eb, eib, zb, zib, auto
|
||||
}
|
||||
cursor_shape: {
|
||||
emacs: line # block, underscore, line (line is the default)
|
||||
vi_insert: block # block, underscore, line (block is the default)
|
||||
vi_normal: underscore # block, underscore, line (underscore is the default)
|
||||
}
|
||||
color_config: $dark_theme # if you want a light theme, replace `$dark_theme` to `$light_theme`
|
||||
use_grid_icons: true
|
||||
footer_mode: "25" # always, never, number_of_rows, auto
|
||||
float_precision: 2 # the precision for displaying floats in tables
|
||||
# buffer_editor: "emacs" # command that will be used to edit the current line buffer with ctrl+o, if unset fallback to $env.EDITOR and $env.VISUAL
|
||||
use_ansi_coloring: true
|
||||
edit_mode: emacs # emacs, vi
|
||||
shell_integration: true # enables terminal markers and a workaround to arrow keys stop working issue
|
||||
render_right_prompt_on_last_line: false # true or false to enable or disable right prompt to be rendered on last line of the prompt.
|
||||
|
||||
hooks: {
|
||||
pre_prompt: [{||
|
||||
null # replace with source code to run before the prompt is shown
|
||||
}]
|
||||
pre_execution: [{||
|
||||
null # replace with source code to run before the repl input is run
|
||||
}]
|
||||
env_change: {
|
||||
PWD: [{|before, after|
|
||||
null # replace with source code to run if the PWD environment is different since the last repl input
|
||||
}]
|
||||
}
|
||||
display_output: {||
|
||||
if (term size).columns >= 100 { table -e } else { table }
|
||||
}
|
||||
command_not_found: {||
|
||||
null # replace with source code to return an error message when a command is not found
|
||||
}
|
||||
}
|
||||
menus: [
|
||||
# Configuration for default nushell menus
|
||||
# Note the lack of source parameter
|
||||
{
|
||||
name: completion_menu
|
||||
only_buffer_difference: false
|
||||
marker: "| "
|
||||
type: {
|
||||
layout: columnar
|
||||
columns: 4
|
||||
col_width: 20 # Optional value. If missing all the screen width is used to calculate column width
|
||||
col_padding: 2
|
||||
}
|
||||
style: {
|
||||
text: green
|
||||
selected_text: green_reverse
|
||||
description_text: yellow
|
||||
}
|
||||
}
|
||||
{
|
||||
name: history_menu
|
||||
only_buffer_difference: true
|
||||
marker: "? "
|
||||
type: {
|
||||
layout: list
|
||||
page_size: 10
|
||||
}
|
||||
style: {
|
||||
text: green
|
||||
selected_text: green_reverse
|
||||
description_text: yellow
|
||||
}
|
||||
}
|
||||
{
|
||||
name: help_menu
|
||||
only_buffer_difference: true
|
||||
marker: "? "
|
||||
type: {
|
||||
layout: description
|
||||
columns: 4
|
||||
col_width: 20 # Optional value. If missing all the screen width is used to calculate column width
|
||||
col_padding: 2
|
||||
selection_rows: 4
|
||||
description_rows: 10
|
||||
}
|
||||
style: {
|
||||
text: green
|
||||
selected_text: green_reverse
|
||||
description_text: yellow
|
||||
}
|
||||
}
|
||||
# Example of extra menus created using a nushell source
|
||||
# Use the source field to create a list of records that populates
|
||||
# the menu
|
||||
{
|
||||
name: commands_menu
|
||||
only_buffer_difference: false
|
||||
marker: "# "
|
||||
type: {
|
||||
layout: columnar
|
||||
columns: 4
|
||||
col_width: 20
|
||||
col_padding: 2
|
||||
}
|
||||
style: {
|
||||
text: green
|
||||
selected_text: green_reverse
|
||||
description_text: yellow
|
||||
}
|
||||
source: { |buffer, position|
|
||||
$nu.scope.commands
|
||||
| where name =~ $buffer
|
||||
| each { |it| {value: $it.name description: $it.usage} }
|
||||
}
|
||||
}
|
||||
{
|
||||
name: vars_menu
|
||||
only_buffer_difference: true
|
||||
marker: "# "
|
||||
type: {
|
||||
layout: list
|
||||
page_size: 10
|
||||
}
|
||||
style: {
|
||||
text: green
|
||||
selected_text: green_reverse
|
||||
description_text: yellow
|
||||
}
|
||||
source: { |buffer, position|
|
||||
$nu.scope.vars
|
||||
| where name =~ $buffer
|
||||
| sort-by name
|
||||
| each { |it| {value: $it.name description: $it.type} }
|
||||
}
|
||||
}
|
||||
{
|
||||
name: commands_with_description
|
||||
only_buffer_difference: true
|
||||
marker: "# "
|
||||
type: {
|
||||
layout: description
|
||||
columns: 4
|
||||
col_width: 20
|
||||
col_padding: 2
|
||||
selection_rows: 4
|
||||
description_rows: 10
|
||||
}
|
||||
style: {
|
||||
text: green
|
||||
selected_text: green_reverse
|
||||
description_text: yellow
|
||||
}
|
||||
source: { |buffer, position|
|
||||
$nu.scope.commands
|
||||
| where name =~ $buffer
|
||||
| each { |it| {value: $it.name description: $it.usage} }
|
||||
}
|
||||
}
|
||||
]
|
||||
keybindings: [
|
||||
{
|
||||
name: completion_menu
|
||||
modifier: none
|
||||
keycode: tab
|
||||
mode: [emacs vi_normal vi_insert]
|
||||
event: {
|
||||
until: [
|
||||
{ send: menu name: completion_menu }
|
||||
{ send: menunext }
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
name: completion_previous
|
||||
modifier: shift
|
||||
keycode: backtab
|
||||
mode: [emacs, vi_normal, vi_insert] # Note: You can add the same keybinding to all modes by using a list
|
||||
event: { send: menuprevious }
|
||||
}
|
||||
{
|
||||
name: history_menu
|
||||
modifier: control
|
||||
keycode: char_r
|
||||
mode: emacs
|
||||
event: { send: menu name: history_menu }
|
||||
}
|
||||
{
|
||||
name: next_page
|
||||
modifier: control
|
||||
keycode: char_x
|
||||
mode: emacs
|
||||
event: { send: menupagenext }
|
||||
}
|
||||
{
|
||||
name: undo_or_previous_page
|
||||
modifier: control
|
||||
keycode: char_z
|
||||
mode: emacs
|
||||
event: {
|
||||
until: [
|
||||
{ send: menupageprevious }
|
||||
{ edit: undo }
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
name: yank
|
||||
modifier: control
|
||||
keycode: char_y
|
||||
mode: emacs
|
||||
event: {
|
||||
until: [
|
||||
{edit: pastecutbufferafter}
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
name: unix-line-discard
|
||||
modifier: control
|
||||
keycode: char_u
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: {
|
||||
until: [
|
||||
{edit: cutfromlinestart}
|
||||
]
|
||||
}
|
||||
}
|
||||
{
|
||||
name: kill-line
|
||||
modifier: control
|
||||
keycode: char_k
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: {
|
||||
until: [
|
||||
{edit: cuttolineend}
|
||||
]
|
||||
}
|
||||
}
|
||||
# Keybindings used to trigger the user defined menus
|
||||
{
|
||||
name: commands_menu
|
||||
modifier: control
|
||||
keycode: char_t
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: { send: menu name: commands_menu }
|
||||
}
|
||||
{
|
||||
name: vars_menu
|
||||
modifier: alt
|
||||
keycode: char_o
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: { send: menu name: vars_menu }
|
||||
}
|
||||
{
|
||||
name: commands_with_description
|
||||
modifier: control
|
||||
keycode: char_s
|
||||
mode: [emacs, vi_normal, vi_insert]
|
||||
event: { send: menu name: commands_with_description }
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
source ~/.oh-my-posh.nu
|
||||
|
||||
let-env EDITOR = nvim
|
86
shell/.config/nushell/env.nu
Normal file
86
shell/.config/nushell/env.nu
Normal file
|
@ -0,0 +1,86 @@
|
|||
# Nushell Environment Config File
|
||||
#
|
||||
# version = 0.79.0
|
||||
|
||||
def create_left_prompt [] {
|
||||
mut home = ""
|
||||
try {
|
||||
if $nu.os-info.name == "windows" {
|
||||
$home = $env.USERPROFILE
|
||||
} else {
|
||||
$home = $env.HOME
|
||||
}
|
||||
}
|
||||
|
||||
let dir = ([
|
||||
($env.PWD | str substring 0..($home | str length) | str replace -s $home "~"),
|
||||
($env.PWD | str substring ($home | str length)..)
|
||||
] | str join)
|
||||
|
||||
let path_segment = if (is-admin) {
|
||||
$"(ansi red_bold)($dir)"
|
||||
} else {
|
||||
$"(ansi green_bold)($dir)"
|
||||
}
|
||||
|
||||
$path_segment
|
||||
}
|
||||
|
||||
def create_right_prompt [] {
|
||||
let time_segment = ([
|
||||
(ansi reset)
|
||||
(ansi magenta)
|
||||
(date now | date format '%m/%d/%Y %r')
|
||||
] | str join)
|
||||
|
||||
let last_exit_code = if ($env.LAST_EXIT_CODE != 0) {([
|
||||
(ansi rb)
|
||||
($env.LAST_EXIT_CODE)
|
||||
] | str join)
|
||||
} else { "" }
|
||||
|
||||
([$last_exit_code, (char space), $time_segment] | str join)
|
||||
}
|
||||
|
||||
# Use nushell functions to define your right and left prompt
|
||||
let-env PROMPT_COMMAND = {|| create_left_prompt }
|
||||
let-env PROMPT_COMMAND_RIGHT = {|| create_right_prompt }
|
||||
|
||||
# The prompt indicators are environmental variables that represent
|
||||
# the state of the prompt
|
||||
let-env PROMPT_INDICATOR = {|| "> " }
|
||||
let-env PROMPT_INDICATOR_VI_INSERT = {|| ": " }
|
||||
let-env PROMPT_INDICATOR_VI_NORMAL = {|| "> " }
|
||||
let-env PROMPT_MULTILINE_INDICATOR = {|| "::: " }
|
||||
|
||||
# Specifies how environment variables are:
|
||||
# - converted from a string to a value on Nushell startup (from_string)
|
||||
# - converted from a value back to a string when running external commands (to_string)
|
||||
# Note: The conversions happen *after* config.nu is loaded
|
||||
let-env ENV_CONVERSIONS = {
|
||||
"PATH": {
|
||||
from_string: { |s| $s | split row (char esep) | path expand -n }
|
||||
to_string: { |v| $v | path expand -n | str join (char esep) }
|
||||
}
|
||||
"Path": {
|
||||
from_string: { |s| $s | split row (char esep) | path expand -n }
|
||||
to_string: { |v| $v | path expand -n | str join (char esep) }
|
||||
}
|
||||
}
|
||||
|
||||
# Directories to search for scripts when calling source or use
|
||||
#
|
||||
# By default, <nushell-config-dir>/scripts is added
|
||||
let-env NU_LIB_DIRS = [
|
||||
($nu.default-config-dir | path join 'scripts')
|
||||
]
|
||||
|
||||
# Directories to search for plugin binaries when calling register
|
||||
#
|
||||
# By default, <nushell-config-dir>/plugins is added
|
||||
let-env NU_PLUGIN_DIRS = [
|
||||
($nu.default-config-dir | path join 'plugins')
|
||||
]
|
||||
|
||||
# To add entries to PATH (on Windows you might use Path), you can use the following pattern:
|
||||
# let-env PATH = ($env.PATH | split row (char esep) | prepend '/some/path')
|
6
shell/.config/pier/config.toml
Normal file
6
shell/.config/pier/config.toml
Normal file
|
@ -0,0 +1,6 @@
|
|||
[scripts.httpserver]
|
||||
command = '''
|
||||
python -m http.server 3000
|
||||
'''
|
||||
|
||||
[default]
|
|
@ -0,0 +1 @@
|
|||
/usr/lib/systemd/user/appimagelauncherd.service
|
|
@ -0,0 +1 @@
|
|||
/usr/lib/systemd/user/pipewire-pulse.service
|
1
shell/.config/systemd/user/default.target.wants/pipewire.service
Symbolic link
1
shell/.config/systemd/user/default.target.wants/pipewire.service
Symbolic link
|
@ -0,0 +1 @@
|
|||
/usr/lib/systemd/user/pipewire.service
|
|
@ -0,0 +1 @@
|
|||
/usr/lib/systemd/user/syncthing.service
|
16
shell/.config/systemd/user/mopidy.service
Normal file
16
shell/.config/systemd/user/mopidy.service
Normal file
|
@ -0,0 +1,16 @@
|
|||
[Unit]
|
||||
Description=Mopidy music server
|
||||
After=avahi-daemon.service
|
||||
After=dbus.service
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
After=nss-lookup.target
|
||||
After=pulseaudio.service
|
||||
After=remote-fs.target
|
||||
After=sound.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/mopidy
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
|
@ -0,0 +1 @@
|
|||
/home/dhalucario/.config/systemd/user/mopidy.service
|
13
shell/.config/systemd/user/ntfy.service
Normal file
13
shell/.config/systemd/user/ntfy.service
Normal file
|
@ -0,0 +1,13 @@
|
|||
[Unit]
|
||||
Description=ntfy server
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/ntfy sub --from-config
|
||||
ExecReload=/bin/kill --signal HUP $MAINPID
|
||||
Restart=on-failure
|
||||
# AmbientCapabilities=CAP_NET_BIND_SERVICE
|
||||
# LimitNOFILE=10000
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
1
shell/.config/systemd/user/pipewire-session-manager.service
Symbolic link
1
shell/.config/systemd/user/pipewire-session-manager.service
Symbolic link
|
@ -0,0 +1 @@
|
|||
/usr/lib/systemd/user/wireplumber.service
|
|
@ -0,0 +1 @@
|
|||
/usr/lib/systemd/user/wireplumber.service
|
12
shell/.config/systemd/user/rtorrent.service
Normal file
12
shell/.config/systemd/user/rtorrent.service
Normal file
|
@ -0,0 +1,12 @@
|
|||
[Unit]
|
||||
Description=rtorrent service
|
||||
Wants=network-online.target
|
||||
After=network-online.target nss-lookup.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
PrivateTmp=false
|
||||
ExecStart=/usr/bin/rtorrent -o import=%h/.config/rtorrent.rc
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
|
@ -0,0 +1 @@
|
|||
/usr/lib/systemd/user/pipewire-pulse.socket
|
1
shell/.config/systemd/user/sockets.target.wants/pipewire.socket
Symbolic link
1
shell/.config/systemd/user/sockets.target.wants/pipewire.socket
Symbolic link
|
@ -0,0 +1 @@
|
|||
/usr/lib/systemd/user/pipewire.socket
|
10
shell/.config/systemd/user/warpd.service
Normal file
10
shell/.config/systemd/user/warpd.service
Normal file
|
@ -0,0 +1,10 @@
|
|||
[Unit]
|
||||
Description=A modal keyboard-driven virtual pointer
|
||||
After=graphical.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/local/bin/warpd -f
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=default.target
|
2
shell/.config/tmux/tmux.conf
Normal file
2
shell/.config/tmux/tmux.conf
Normal file
|
@ -0,0 +1,2 @@
|
|||
set-option -g default-shell /usr/bin/fish
|
||||
set -g mouse on
|
8
shell/.ddev/host/qimport-db
Executable file
8
shell/.ddev/host/qimport-db
Executable file
|
@ -0,0 +1,8 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
## Description: Imports the last file you downloaded
|
||||
## Usage: qimport-db
|
||||
## Example: "ddev qimport-db"
|
||||
## OSTypes: darwin,linux
|
||||
|
||||
ddev import-db "--src=~/Downloads/$(ls -1t ~/Downloads | head -n 1)"
|
37
shell/.ddev/web/wp-userrs
Executable file
37
shell/.ddev/web/wp-userrs
Executable file
|
@ -0,0 +1,37 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
## Description: Resets the password of all users using WP-Cli
|
||||
## Usage: wp-userrs
|
||||
## Example: "ddev wp-userrs"
|
||||
|
||||
WP_PATH=$(realpath $PWD/$DDEV_DOCROOT)
|
||||
WP_SITES=$(wp site list --quiet --path=$WP_PATH)
|
||||
IS_SINGLE_SITE=$?
|
||||
|
||||
if [[ $IS_SINGLE_SITE -eq 1 ]]; then
|
||||
echo 'Is singlesite.'
|
||||
WP_USERS=$(wp user list --path=$WP_PATH --fields=user_login --format=csv | sed -e '1d')
|
||||
echo 'Wordpress users:'
|
||||
echo $WP_USERS
|
||||
wp user update --path=$WP_PATH --user_pass=asdf1234 --skip-email $WP_USERS
|
||||
fi
|
||||
|
||||
if [[ $IS_SINGLE_SITE -eq 0 ]]; then
|
||||
echo 'Is multisite.'
|
||||
echo $WP_SITES
|
||||
for WP_SITE in $WP_SITES; do
|
||||
WP_USERS=$(wp user list --path=$WP_PATH --url="$WP_SITE" --fields=user_login --format=csv | sed -e '1d')
|
||||
echo 'Wordpress users:'
|
||||
echo $WP_USERS
|
||||
wp user update --path=$WP_PATH --url="$WP_SITE" --user_pass=asdf1234 --skip-email $WP_USERS
|
||||
done
|
||||
fi
|
||||
|
||||
#for WORDPRESS_URL in $(wp site list --field=url); do
|
||||
# # WORDPRESS_USERS=$(wp user list --path=$WORDPRESS_PATH --url='$WORDPRESS_URL' --fields=user_login --format=csv 2>/dev/null | sed -e '/eval/d;/^$/d;' | sed -e '1d')
|
||||
# echo === Site ===
|
||||
# echo $WORDPRESS_URL
|
||||
# echo === Users ===
|
||||
# wp user list --url=$WORDPRESS_URL --fields=user_login --format=csv 2>/dev/null | sed -e '/eval/d;/^$/d;' | sed -e '1d'
|
||||
# # echo $WORDPRESS_USERS
|
||||
#done
|
7
shell/.gitconfig
Normal file
7
shell/.gitconfig
Normal file
|
@ -0,0 +1,7 @@
|
|||
[user]
|
||||
name = Leon Grünewald
|
||||
email = 10533763+dhalucario@users.noreply.github.com
|
||||
[diff]
|
||||
tool = vimdiff
|
||||
[init]
|
||||
defaultBranch = master
|
185
shell/.poshthemes/slimfat.omp.json
Normal file
185
shell/.poshthemes/slimfat.omp.json
Normal file
|
@ -0,0 +1,185 @@
|
|||
{
|
||||
"$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json",
|
||||
"blocks": [
|
||||
{
|
||||
"alignment": "left",
|
||||
"segments": [
|
||||
{
|
||||
"background": "#2f2f2f",
|
||||
"foreground": "#26C6DA",
|
||||
"leading_diamond": "\ue0c7\u2593",
|
||||
"properties": {
|
||||
"alpine": "\uf300",
|
||||
"arch": "\uf303",
|
||||
"centos": "\uf304",
|
||||
"debian": "\uf306",
|
||||
"elementary": "\uf309",
|
||||
"fedora": "\uf30a",
|
||||
"gentoo": "\uf30d",
|
||||
"linux": "\ue712",
|
||||
"macos": "\ue711",
|
||||
"manjaro": "\uf312",
|
||||
"mint": "\uf30f",
|
||||
"opensuse": "\uf314",
|
||||
"raspbian": "\uf315",
|
||||
"ubuntu": "\uf31c",
|
||||
"windows": "\ue70f"
|
||||
},
|
||||
"style": "diamond",
|
||||
"template": " {{ if .WSL }}\ue712 on {{ end }}{{ .Icon }}<#7a7a7a> \ue0b1</>",
|
||||
"type": "os"
|
||||
},
|
||||
{
|
||||
"background": "#2f2f2f",
|
||||
"foreground": "#fafafa",
|
||||
"style": "diamond",
|
||||
"template": " {{ if ne .Env.POSH_SESSION_DEFAULT_USER .UserName }}<#77f5d6>{{ .UserName }}</><#7a7a7a>\uf1fa</>{{ end }}<#2EEFBF>{{ .HostName }}</><#7a7a7a> \ue0b1</>",
|
||||
"type": "session"
|
||||
},
|
||||
{
|
||||
"background": "#2f2f2f",
|
||||
"foreground": "#ffff66",
|
||||
"style": "diamond",
|
||||
"template": " \uf0e7<#7a7a7a> \ue0b1</>",
|
||||
"type": "root"
|
||||
},
|
||||
{
|
||||
"background": "#2f2f2f",
|
||||
"foreground": "#fafafa",
|
||||
"properties": {
|
||||
"folder_icon": "<#B5B2C2>\ue5fe </>",
|
||||
"style": "full"
|
||||
},
|
||||
"style": "diamond",
|
||||
"template": "<#f2f200> \ue5ff </>{{ .Path }} ",
|
||||
"type": "path"
|
||||
},
|
||||
{
|
||||
"background": "#2f2f2f",
|
||||
"foreground": "#ffeb3b",
|
||||
"foreground_templates": [
|
||||
"{{ if or (.Working.Changed) (.Staging.Changed) }}#ffeb3b{{ end }}",
|
||||
"{{ if gt .Ahead 0 }}#2EC4B6{{ end }}",
|
||||
"{{ if gt .Behind 0 }}#8A4FFF{{ end }}"
|
||||
],
|
||||
"properties": {
|
||||
"fetch_stash_count": true,
|
||||
"fetch_status": true,
|
||||
"fetch_upstream_icon": true
|
||||
},
|
||||
"style": "diamond",
|
||||
"template": "<#7a7a7a>\ue0b1 </>{{ .UpstreamIcon }}{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }}<#E84855> \uf044 {{ .Working.String }}</>{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Staging.Changed }}<#2FDA4E> \uf046 {{ .Staging.String }}</>{{ end }}{{ if gt .StashCount 0 }} \uf692 {{ .StashCount }}{{ end }} ",
|
||||
"type": "git"
|
||||
},
|
||||
{
|
||||
"background": "#2f2f2f",
|
||||
"foreground": "#fafafa",
|
||||
"style": "diamond",
|
||||
"trailing_diamond": "\ue0b0",
|
||||
"type": "text"
|
||||
}
|
||||
],
|
||||
"type": "prompt"
|
||||
},
|
||||
{
|
||||
"alignment": "right",
|
||||
"segments": [
|
||||
{
|
||||
"background": "#2f2f2f",
|
||||
"foreground": "#fafafa",
|
||||
"leading_diamond": "\ue0b2",
|
||||
"style": "diamond",
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"background": "#2f2f2f",
|
||||
"foreground": "#6CA35E",
|
||||
"style": "diamond",
|
||||
"template": " \ue718 {{ if .PackageManagerIcon }}{{ .PackageManagerIcon }} {{ end }}{{ .Full }}<#7a7a7a> \ue0b3</>",
|
||||
"type": "node"
|
||||
},
|
||||
{
|
||||
"background": "#2f2f2f",
|
||||
"foreground": "#96E072",
|
||||
"style": "diamond",
|
||||
"template": " \ue235 {{ if .Error }}{{ .Error }}{{ else }}{{ if .Venv }}{{ .Venv }} {{ end }}{{ .Full }}{{ end }}<#7a7a7a> \ue0b3</>",
|
||||
"type": "python"
|
||||
},
|
||||
{
|
||||
"background": "#2f2f2f",
|
||||
"foreground": "#3891A6",
|
||||
"style": "diamond",
|
||||
"template": " \ue77f {{ if .Unsupported }}\uf071{{ else }}{{ .Full }}{{ end }}<#7a7a7a> \ue0b3</>",
|
||||
"type": "dotnet"
|
||||
},
|
||||
{
|
||||
"background": "#2f2f2f",
|
||||
"foreground": "#fafafa",
|
||||
"properties": {
|
||||
"time_format": "15:04:05"
|
||||
},
|
||||
"style": "diamond",
|
||||
"template": " {{ .CurrentDate | date .Format }}<#007ACC> \uf64f </>",
|
||||
"trailing_diamond": "\u2593\ue0c6",
|
||||
"type": "time"
|
||||
}
|
||||
],
|
||||
"type": "prompt"
|
||||
},
|
||||
{
|
||||
"alignment": "left",
|
||||
"newline": true,
|
||||
"segments": [
|
||||
{
|
||||
"foreground": "#7a7a7a",
|
||||
"style": "plain",
|
||||
"template": " ~#@\u276f ",
|
||||
"type": "text"
|
||||
}
|
||||
],
|
||||
"type": "prompt"
|
||||
},
|
||||
{
|
||||
"alignment": "right",
|
||||
"segments": [
|
||||
{
|
||||
"foreground": "#7a7a7a",
|
||||
"style": "plain",
|
||||
"template": " \u276e ",
|
||||
"type": "text"
|
||||
},
|
||||
{
|
||||
"foreground": "#FFCE5C",
|
||||
"properties": {
|
||||
"style": "roundrock",
|
||||
"threshold": 500
|
||||
},
|
||||
"style": "plain",
|
||||
"template": " {{ .FormattedMs }}<#fafafa> \uf252 </>",
|
||||
"type": "executiontime"
|
||||
},
|
||||
{
|
||||
"foreground": "#9FD356",
|
||||
"foreground_templates": [
|
||||
"{{ if gt .Code 0 }}#E84855{{ end }}"
|
||||
],
|
||||
"properties": {
|
||||
"always_enabled": true
|
||||
},
|
||||
"style": "plain",
|
||||
"template": " \uf705 {{ if gt .Code 0 }}{{ .Code }}{{ end }} ",
|
||||
"type": "exit"
|
||||
}
|
||||
],
|
||||
"type": "rprompt"
|
||||
}
|
||||
],
|
||||
"console_title_template": "{{if .Root}}root :: {{end}}{{.Shell}} :: {{.Folder}}",
|
||||
"final_space": true,
|
||||
"transient_prompt": {
|
||||
"background": "transparent",
|
||||
"foreground": "#7a7a7a",
|
||||
"template": " ~#@\u276f "
|
||||
},
|
||||
"version": 2
|
||||
}
|
10
shell/.profile
Normal file
10
shell/.profile
Normal file
|
@ -0,0 +1,10 @@
|
|||
export PNPM_HOME="$HOME/.local/share/pnpm"
|
||||
case ":$PATH:" in
|
||||
*":$PNPM_HOME:"*) ;;
|
||||
*) export PATH="$PNPM_HOME:$PATH" ;;
|
||||
esac
|
||||
|
||||
# Added by Toolbox App
|
||||
export PATH="$PATH:$HOME/.local/share/JetBrains/Toolbox/scripts:$HOME/.local/bin"
|
||||
|
||||
. "$HOME/.cargo/env"
|
54
shell/.vimrc
Normal file
54
shell/.vimrc
Normal file
|
@ -0,0 +1,54 @@
|
|||
set nocompatible
|
||||
|
||||
" Keybindings
|
||||
let mapleader=' '
|
||||
nnoremap <SPACE> <Nop>
|
||||
vnoremap < <gv
|
||||
vnoremap > >gv
|
||||
nnoremap = :FormatXML<Cr>
|
||||
|
||||
"" Vim Config
|
||||
" Set completeopt to have a better completion experience
|
||||
set completeopt=menuone,noinsert,noselect
|
||||
" Avoid showing message extra message when using completion
|
||||
set shortmess+=c
|
||||
" Add clipboard support
|
||||
set clipboard^=unnamed,unnamedplus
|
||||
|
||||
" Enable syntax highlighting
|
||||
syntax on
|
||||
filetype on
|
||||
|
||||
" Intendation
|
||||
set tabstop=4
|
||||
set softtabstop=4
|
||||
set shiftwidth=4
|
||||
set expandtab
|
||||
set autoindent
|
||||
|
||||
" UTF-8
|
||||
set encoding=utf-8
|
||||
set fileencodings=utf-8
|
||||
set fileformats=unix,dos,mac
|
||||
|
||||
" Enable term color
|
||||
set tgc
|
||||
|
||||
"" Plugins
|
||||
call plug#begin('~/.vim/plugged')
|
||||
Plug 'ghifarit53/tokyonight-vim'
|
||||
Plug 'justinmk/vim-sneak'
|
||||
Plug 'mattn/emmet-vim'
|
||||
call plug#end()
|
||||
|
||||
set path+=**
|
||||
set wildmenu
|
||||
|
||||
"" Theme
|
||||
let g:tokyonight_style='night'
|
||||
let g:tokyonight_enable_italic=0
|
||||
colorscheme tokyonight
|
||||
|
||||
"" Other
|
||||
com! FormatXML :%!python3 -c "import xml.dom.minidom, sys; print(xml.dom.minidom.parse(sys.stdin).toprettyxml())"
|
||||
|
19
shell/.zcustom/alias.zsh
Normal file
19
shell/.zcustom/alias.zsh
Normal file
|
@ -0,0 +1,19 @@
|
|||
#########################################
|
||||
# Aliases #
|
||||
#########################################
|
||||
alias gitroot='cd $(git rev-parse --show-toplevel)'
|
||||
|
||||
alias dc-up="docker-compose up"
|
||||
alias dc-upd="docker-compose up -d"
|
||||
alias dc-down="docker-compose down"
|
||||
|
||||
if [[ -n "$(command -v nvim)" ]]; then
|
||||
alias oldvim='vim'
|
||||
alias vim='nvim'
|
||||
fi
|
||||
|
||||
if [[ $(uname -s) != "Darwin" ]]; then
|
||||
alias open="xdg-open"
|
||||
fi
|
||||
|
||||
alias kubectl="minikube kubectl --"
|
|
@ -1,6 +1,5 @@
|
|||
source ~/.zcustom/packages.zsh
|
||||
source ~/.zcustom/p9k.zsh
|
||||
source ~/.zcustom/env.zsh
|
||||
source ~/.zcustom/alias.zsh
|
||||
source ~/.zcustom/motd.zsh
|
||||
|
3
shell/.zcustom/packages.zsh
Normal file
3
shell/.zcustom/packages.zsh
Normal file
|
@ -0,0 +1,3 @@
|
|||
zplug "romkatv/powerlevel10k", as:theme, depth:1
|
||||
zplug "rupa/z", use:z.sh
|
||||
zplug "svenXY/timewarrior"
|
39
shell/.zshenv
Normal file
39
shell/.zshenv
Normal file
|
@ -0,0 +1,39 @@
|
|||
export UID=$(id -u)
|
||||
export GID=$(id -g)
|
||||
|
||||
export PATH="/usr/local/bin:$HOME/.local/bin:$PATH"
|
||||
|
||||
if [ -n "$(command -v composer)" ]; then
|
||||
export PATH=$PATH:$(composer global config bin-dir --absolute -q)
|
||||
fi
|
||||
|
||||
if [ -n "$(command -v rustc)" ]; then
|
||||
export PATH="$HOME/.cargo/bin:$PATH"
|
||||
export RUST_SRC_PATH=$(rustc --print sysroot)/lib/rustlib/src/rust/library
|
||||
fi
|
||||
|
||||
export LANG="en_US.UTF-8"
|
||||
export LANGUAGE="en_US"
|
||||
export LC_CTYPE="de_DE.UTF-8"
|
||||
export LC_NUMERIC="de_DE.UTF-8"
|
||||
export LC_TIME="de_DE.UTF-8"
|
||||
export LC_COLLATE="de_DE.UTF-8"
|
||||
export LC_MONETARY="de_DE.UTF-8"
|
||||
export LC_MESSAGES="de_DE.UTF-8"
|
||||
export LC_PAPER="de_DE.UTF-8"
|
||||
export LC_NAME="de_DE.UTF-8"
|
||||
export LC_ADDRESS="de_DE.UTF-8"
|
||||
export LC_TELEPHONE="de_DE.UTF-8"
|
||||
export LC_MEASUREMENT="de_DE.UTF-8"
|
||||
export LC_IDENTIFICATION="de_DE.UTF-8"
|
||||
export LC_ALL="de_DE.UTF-8"
|
||||
|
||||
export XDG_CONFIG_HOME="$HOME/.config"
|
||||
export XDG_CACHE_HOME="$HOME/.cache"
|
||||
export XDG_DATA_HOME="$HOME/.local/share"
|
||||
|
||||
# Don't check for new mail
|
||||
export MAILCHECK=1
|
||||
|
||||
export GOPATH=$HOME/.golang
|
||||
export FONTCONFIG_PATH=/etc/fonts
|
39
shell/.zshrc
Normal file
39
shell/.zshrc
Normal file
|
@ -0,0 +1,39 @@
|
|||
setopt extendedglob
|
||||
|
||||
export ZSH="$HOME/.oh-my-zsh"
|
||||
export EDITOR="vim"
|
||||
export CFLAGS="-march=native -O2"
|
||||
export CXXFLAGS="$CFLAGS"
|
||||
export MAKEOPTS="-j$(cat /proc/cpuinfo | awk -F: '$1 ~ /cpu cores/ { print $2 }' | head -n 1 | tr -d ' ')"
|
||||
|
||||
if [ -n "$(command -v clang)" ]; then
|
||||
export CC=clang
|
||||
else
|
||||
export CC=gcc
|
||||
fi
|
||||
|
||||
if [ -n "$(command -v clang++)" ]; then
|
||||
export CXX=clang++
|
||||
else
|
||||
export CXX=g++
|
||||
fi
|
||||
|
||||
if [ -n "$(command -v ruby)" ] && [ -n "$(command -v gem)" ]; then
|
||||
PATH="$(ruby -r rubygems -e 'puts Gem.user_dir')/bin:$PATH"
|
||||
fi
|
||||
|
||||
[[ ! -r $HOME/.cargo/env ]] || source $HOME/.cargo/env > /dev/null 2> /dev/null
|
||||
|
||||
# pnpm
|
||||
export PNPM_HOME="$HOME/.local/share/pnpm"
|
||||
case ":$PATH:" in
|
||||
*":$PNPM_HOME:"*) ;;
|
||||
*) export PATH="$PNPM_HOME:$PATH" ;;
|
||||
esac
|
||||
# pnpm end
|
||||
|
||||
source $ZSH/oh-my-zsh.sh
|
||||
source ~/.zplug/init.zsh
|
||||
source ~/.zcustom/init.zsh
|
||||
|
||||
eval "$(zoxide init zsh)"
|
Loading…
Reference in a new issue