forked from Snoweuph/Dotfiles
Compare commits
No commits in common. "neo" and "stable" have entirely different histories.
135 changed files with 3368 additions and 1632 deletions
|
@ -1,10 +0,0 @@
|
|||
# Load login settings and environment variables
|
||||
if [[ -f ~/.profile ]]; then
|
||||
source ~/.profile
|
||||
fi
|
||||
|
||||
# Load interactive settings
|
||||
if [[ -f ~/.bashrc ]]; then
|
||||
source ~/.bashrc
|
||||
fi
|
||||
|
55
.bashrc
55
.bashrc
|
@ -1,55 +0,0 @@
|
|||
#################################
|
||||
## Check for Interactivy Shell ##
|
||||
#################################
|
||||
case $- in
|
||||
*i*) ;;
|
||||
*) return;;
|
||||
esac
|
||||
|
||||
#################################
|
||||
## Oh My Bash ##
|
||||
#################################
|
||||
export OSH="$HOME/.config/oh-my-bash"
|
||||
OSH_CUSTOM="$HOME/.config/oh-my-bash-custom"
|
||||
OSH_THEME="agnoster-modded"
|
||||
DEFAULT_USER=$(whoami)
|
||||
ENABLE_CORRECTION=true
|
||||
OMB_USE_SUDO=true
|
||||
|
||||
completions=(
|
||||
git
|
||||
composer
|
||||
ssh
|
||||
)
|
||||
|
||||
aliases=(
|
||||
general
|
||||
)
|
||||
|
||||
plugins=(
|
||||
git
|
||||
bashmarks
|
||||
)
|
||||
source "$OSH"/oh-my-bash.sh
|
||||
|
||||
#################################
|
||||
## Application Envs ##
|
||||
#################################
|
||||
|
||||
# Volta
|
||||
export PATH=$PATH:~/.local/bin
|
||||
export VOLTA_HOME="$HOME/.volta"
|
||||
export PATH="$VOLTA_HOME/bin:$PATH"
|
||||
|
||||
# Podman as Docker on Immutable Distros
|
||||
export DOCKER_HOST=unix:///run/user/1000/podman/podman.sock
|
||||
|
||||
#################################
|
||||
## Aliases ##
|
||||
#################################
|
||||
|
||||
alias nvim-conf="nvim ~/.config/nvim"
|
||||
alias bash-conf="nvim #/.bashrc"
|
||||
|
||||
alias nano="nvim"
|
||||
alias neofetch="fastfetch"
|
|
@ -1,210 +0,0 @@
|
|||
{
|
||||
"document": {
|
||||
"block_prefix": "\n",
|
||||
"block_suffix": "\n",
|
||||
"color": "#cad3f5",
|
||||
"margin": 2
|
||||
},
|
||||
"block_quote": {
|
||||
"indent": 1,
|
||||
"indent_token": "│ "
|
||||
},
|
||||
"paragraph": {},
|
||||
"list": {
|
||||
"level_indent": 2
|
||||
},
|
||||
"heading": {
|
||||
"block_suffix": "\n",
|
||||
"color": "#cad3f5",
|
||||
"bold": true
|
||||
},
|
||||
"h1": {
|
||||
"prefix": " ",
|
||||
"suffix": " ",
|
||||
"color": "#24273a",
|
||||
"background_color": "#8aadf4",
|
||||
"bold": true
|
||||
},
|
||||
"h2": {
|
||||
"prefix": "██ ",
|
||||
"suffix": " ",
|
||||
"color": "#24273a",
|
||||
"background_color": "#7dc4e4"
|
||||
},
|
||||
"h3": {
|
||||
"prefix": "████ ",
|
||||
"suffix": " ",
|
||||
"color": "#24273a",
|
||||
"background_color": "#91d7e3"
|
||||
},
|
||||
"h4": {
|
||||
"prefix": "██████ ",
|
||||
"suffix": " ",
|
||||
"color": "#24273a",
|
||||
"background_color": "#8bd5ca"
|
||||
},
|
||||
"h5": {
|
||||
"prefix": "████████ ",
|
||||
"suffix": " ",
|
||||
"color": "#24273a",
|
||||
"background_color": "#7dc4e4"
|
||||
},
|
||||
"h6": {
|
||||
"prefix": "██████████ ",
|
||||
"suffix": " ",
|
||||
"color": "#24273a",
|
||||
"background_color": "#b7bdf8"
|
||||
},
|
||||
"text": {},
|
||||
"strikethrough": {
|
||||
"crossed_out": true
|
||||
},
|
||||
"emph": {
|
||||
"italic": true
|
||||
},
|
||||
"strong": {
|
||||
"bold": true
|
||||
},
|
||||
"hr": {
|
||||
"color": "#6e738d",
|
||||
"format": "\n──────────────────────────────────────────────────────────────────────────\n"
|
||||
},
|
||||
"item": {
|
||||
"block_prefix": "• "
|
||||
},
|
||||
"enumeration": {
|
||||
"block_prefix": ". "
|
||||
},
|
||||
"task": {
|
||||
"ticked": " ",
|
||||
"unticked": " "
|
||||
},
|
||||
"link": {
|
||||
"color": "#8aadf4",
|
||||
"underline": true
|
||||
},
|
||||
"link_text": {
|
||||
"color": "#b7bdf8",
|
||||
"bold": true
|
||||
},
|
||||
"image": {
|
||||
"color": "#8aadf4",
|
||||
"underline": true
|
||||
},
|
||||
"image_text": {
|
||||
"color": "#b7bdf8",
|
||||
"format": "Image: {{.text}} →"
|
||||
},
|
||||
"code": {
|
||||
"prefix": " ",
|
||||
"suffix": " ",
|
||||
"color": "#8aadf4",
|
||||
"background_color": "#363a4f"
|
||||
},
|
||||
"code_block": {
|
||||
"color": "#1e2030",
|
||||
"margin": 2,
|
||||
"chroma": {
|
||||
"text": {
|
||||
"color": "#cad3f5"
|
||||
},
|
||||
"error": {
|
||||
"color": "#cad3f5",
|
||||
"background_color": "#ed8796"
|
||||
},
|
||||
"comment": {
|
||||
"color": "#6e738d"
|
||||
},
|
||||
"comment_preproc": {
|
||||
"color": "#8aadf4"
|
||||
},
|
||||
"keyword": {
|
||||
"color": "#c6a0f6"
|
||||
},
|
||||
"keyword_reserved": {
|
||||
"color": "#c6a0f6"
|
||||
},
|
||||
"keyword_namespace": {
|
||||
"color": "#eed49f"
|
||||
},
|
||||
"keyword_type": {
|
||||
"color": "#eed49f"
|
||||
},
|
||||
"operator": {
|
||||
"color": "#91d7e3"
|
||||
},
|
||||
"punctuation": {
|
||||
"color": "#939ab7"
|
||||
},
|
||||
"name": {
|
||||
"color": "#b7bdf8"
|
||||
},
|
||||
"name_builtin": {
|
||||
"color": "#f5a97f"
|
||||
},
|
||||
"name_tag": {
|
||||
"color": "#c6a0f6"
|
||||
},
|
||||
"name_attribute": {
|
||||
"color": "#eed49f"
|
||||
},
|
||||
"name_class": {
|
||||
"color": "#eed49f"
|
||||
},
|
||||
"name_constant": {
|
||||
"color": "#eed49f"
|
||||
},
|
||||
"name_decorator": {
|
||||
"color": "#f5bde6"
|
||||
},
|
||||
"name_exception": {},
|
||||
"name_function": {
|
||||
"color": "#8aadf4"
|
||||
},
|
||||
"name_other": {},
|
||||
"literal": {},
|
||||
"literal_number": {
|
||||
"color": "#f5a97f"
|
||||
},
|
||||
"literal_date": {},
|
||||
"literal_string": {
|
||||
"color": "#a6da95"
|
||||
},
|
||||
"literal_string_escape": {
|
||||
"color": "#f5bde6"
|
||||
},
|
||||
"generic_deleted": {
|
||||
"color": "#ed8796"
|
||||
},
|
||||
"generic_emph": {
|
||||
"color": "#cad3f5",
|
||||
"italic": true
|
||||
},
|
||||
"generic_inserted": {
|
||||
"color": "#a6da95"
|
||||
},
|
||||
"generic_strong": {
|
||||
"color": "#cad3f5",
|
||||
"bold": true
|
||||
},
|
||||
"generic_subheading": {
|
||||
"color": "#91d7e3"
|
||||
},
|
||||
"background": {
|
||||
"background_color": "#363a4f"
|
||||
}
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"center_separator": "┼",
|
||||
"column_separator": "│",
|
||||
"row_separator": "─"
|
||||
},
|
||||
"definition_list": {},
|
||||
"definition_term": {},
|
||||
"definition_description": {
|
||||
"block_prefix": "\n🠶 "
|
||||
},
|
||||
"html_block": {},
|
||||
"html_span": {}
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
neovim lua gcc curl wget git unzip tar gzip ripgrep php composer go nodejs npm delve
|
|
@ -1 +0,0 @@
|
|||
require("core")
|
|
@ -1,8 +0,0 @@
|
|||
-- Use 2 Spaces Instead of Tabs --
|
||||
vim.cmd("set expandtab")
|
||||
vim.cmd("set tabstop=4")
|
||||
vim.cmd("set softtabstop=4")
|
||||
vim.cmd("set shiftwidth=4")
|
||||
|
||||
-- Enable Line Number --
|
||||
vim.cmd("set number")
|
|
@ -1,3 +0,0 @@
|
|||
require("core.keymap")
|
||||
require("core.editor")
|
||||
require("core.package_manager")
|
|
@ -1,5 +0,0 @@
|
|||
vim.g.mapleader = " "
|
||||
|
||||
--[[ Indentation ]]--
|
||||
vim.keymap.set("n", "<Tab>", " >>")
|
||||
vim.keymap.set("n", "<S-Tab>", " <<")
|
|
@ -1,15 +0,0 @@
|
|||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
"git",
|
||||
"clone",
|
||||
"--filter=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
"--branch=stable",
|
||||
lazypath,
|
||||
})
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
local opts = {}
|
||||
require("lazy").setup("plugins", opts)
|
|
@ -1,32 +0,0 @@
|
|||
return {
|
||||
"goolord/alpha-nvim",
|
||||
dependencies = {
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
config = function()
|
||||
-- Setup --
|
||||
local alpha = require("alpha")
|
||||
local dashboard = require("alpha.themes.startify")
|
||||
|
||||
-- Header --
|
||||
dashboard.section.header.val = {
|
||||
[[ ]],
|
||||
[[ ]],
|
||||
[[ ]],
|
||||
[[ ]],
|
||||
[[ ]],
|
||||
[[ ████ ██████ █████ ██ ]],
|
||||
[[ ███████████ █████ ]],
|
||||
[[ █████████ ███████████████████ ███ ███████████ ]],
|
||||
[[ █████████ ███ █████████████ █████ ██████████████ ]],
|
||||
[[ █████████ ██████████ █████████ █████ █████ ████ █████ ]],
|
||||
[[ ███████████ ███ ███ █████████ █████ █████ ████ █████ ]],
|
||||
[[ ██████ █████████████████████ ████ █████ █████ ████ ██████ ]],
|
||||
[[ ]],
|
||||
[[ ]],
|
||||
[[ ]],
|
||||
}
|
||||
|
||||
alpha.setup(dashboard.opts)
|
||||
end,
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
return {
|
||||
require("plugins.editor.editor_auto_brackets"),
|
||||
require("plugins.editor.editor_code_highlighting"),
|
||||
require("plugins.editor.editor_code_snippets"),
|
||||
require("plugins.editor.editor_debugging"),
|
||||
require("plugins.editor.editor_language_server"),
|
||||
require("plugins.editor.editor_markdown_preview")
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
return {
|
||||
"leoluz/nvim-dap-go",
|
||||
config = function()
|
||||
|
||||
require("dap-go").setup({
|
||||
delve = {
|
||||
cwd = require("utils.finder").find_project_dir(
|
||||
"go.mod",
|
||||
3,
|
||||
{
|
||||
"src",
|
||||
"app",
|
||||
"pkg"
|
||||
},
|
||||
{
|
||||
"test"
|
||||
},
|
||||
true
|
||||
)
|
||||
}
|
||||
})
|
||||
end,
|
||||
}
|
||||
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
return {
|
||||
'm4xshen/autoclose.nvim',
|
||||
config = function()
|
||||
require("autoclose").setup()
|
||||
end
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
return {
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
build = ":TSUpdate",
|
||||
config = function()
|
||||
-- Setup --
|
||||
local config = require("nvim-treesitter.configs")
|
||||
config.setup({
|
||||
auto_install = true,
|
||||
highlight = { enable = true },
|
||||
indent = { enable = true },
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"NoahTheDuke/vim-just",
|
||||
ft = { "just" },
|
||||
},
|
||||
}
|
|
@ -1,74 +0,0 @@
|
|||
return {
|
||||
{
|
||||
"L3MON4D3/LuaSnip",
|
||||
version = "2.*",
|
||||
dependencies = {
|
||||
"rafamadriz/friendly-snippets",
|
||||
"mireq/luasnip-snippets",
|
||||
},
|
||||
build = "make install_jsregexp",
|
||||
config = function()
|
||||
-- Setup --
|
||||
require("luasnip.loaders.from_vscode").lazy_load()
|
||||
require("luasnip.loaders.from_snipmate").lazy_load()
|
||||
require("luasnip_snippets.common.snip_utils").setup()
|
||||
end,
|
||||
},
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
dependencies = {
|
||||
"L3MON4D3/LuaSnip",
|
||||
"saadparwaiz1/cmp_luasnip",
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
},
|
||||
config = function()
|
||||
-- Setup --
|
||||
local cmp = require("cmp")
|
||||
local luasnip = require("luasnip")
|
||||
luasnip.setup({
|
||||
load_ft_func = require("luasnip_snippets.common.snip_utils").load_ft_func,
|
||||
ft_func = require("luasnip_snippets.common.snip_utils").ft_func,
|
||||
enable_autosnippets = true,
|
||||
})
|
||||
|
||||
-- Keybinding --
|
||||
vim.keymap.set({ "i", "s" }, "<Tab>", function()
|
||||
if luasnip.expand_or_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
else
|
||||
vim.api.nvim_input("<C-V><Tab>")
|
||||
end
|
||||
end, { silent = true })
|
||||
|
||||
vim.keymap.set({ "i", "s" }, "<S-Tab>", function()
|
||||
luasnip.jump(-1)
|
||||
end, { silent = true })
|
||||
|
||||
local doc_keybindings = {
|
||||
["<C-b>"] = cmp.mapping.scroll_docs(-4),
|
||||
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
||||
["<C-Space>"] = cmp.mapping.complete(),
|
||||
["<C-e>"] = cmp.mapping.abort(),
|
||||
["<CR>"] = cmp.mapping.confirm({ select = true }),
|
||||
}
|
||||
|
||||
-- Setup --
|
||||
cmp.setup({
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
luasnip.lsp_expand(args.body)
|
||||
end,
|
||||
},
|
||||
window = {
|
||||
completion = cmp.config.window.bordered(),
|
||||
documentation = cmp.config.window.bordered(),
|
||||
},
|
||||
mapping = cmp.mapping.preset.insert(doc_keybindings),
|
||||
sources = cmp.config.sources({
|
||||
{ name = "nvim_lsp" },
|
||||
{ name = "luasnip" },
|
||||
}, { { name = "buffer" } }),
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
|
@ -1,75 +0,0 @@
|
|||
return {
|
||||
{
|
||||
"mfussenegger/nvim-dap",
|
||||
dependencies = {
|
||||
"rcarriga/nvim-dap-ui",
|
||||
"nvim-neotest/nvim-nio",
|
||||
},
|
||||
config = function()
|
||||
-- Setup Debugging --
|
||||
local dap = require("dap")
|
||||
|
||||
-- Open UI on Debugging --
|
||||
local dapui = require("dapui")
|
||||
dapui.setup({
|
||||
layouts = {
|
||||
{
|
||||
elements = {
|
||||
{ id = "scopes", size = 0.65 },
|
||||
{ id = "breakpoints", size = 0.35 },
|
||||
},
|
||||
position = "left",
|
||||
size = 40,
|
||||
},
|
||||
{
|
||||
elements = {
|
||||
{ id = "repl", size = 0.5 },
|
||||
{ id = "console", size = 0.5 },
|
||||
},
|
||||
position = "bottom",
|
||||
size = 10,
|
||||
},
|
||||
},
|
||||
})
|
||||
dap.listeners.before.attach.dapui_config = function()
|
||||
dapui.open()
|
||||
end
|
||||
dap.listeners.before.launch.dapui_config = function()
|
||||
dapui.open()
|
||||
end
|
||||
|
||||
-- Keybinding --
|
||||
vim.keymap.set("n", "<Leader>dt", dapui.toggle, { desc = "Toggle Debugger UI" })
|
||||
vim.keymap.set("n", "<Leader>db", dap.toggle_breakpoint, { desc = "Toggle Breakpoint" })
|
||||
vim.keymap.set("n", "<Leader>dc", dap.continue, { desc = "Debugger Continue" })
|
||||
vim.keymap.set("n", "<Leader>dx", dap.terminate, { desc = "Debugger Terminate" })
|
||||
vim.keymap.set("n", "<Leader>ds", dap.step_over, { desc = "Debugger Step Over" })
|
||||
|
||||
-- Breakpoints --
|
||||
vim.api.nvim_set_hl(0, "DapBreakpoint", { ctermbg = 0, fg = "#993939", bg = "#31353f" })
|
||||
vim.api.nvim_set_hl(0, "DapLogPoint", { ctermbg = 0, fg = "#61afef", bg = "#31353f" })
|
||||
vim.api.nvim_set_hl(0, "DapStopped", { ctermbg = 0, fg = "#98c379", bg = "#31353f" })
|
||||
vim.fn.sign_define(
|
||||
"DapBreakpoint",
|
||||
{ text = "", texthl = "DapBreakpoint", linehl = "DapBreakpoint", numhl = "DapBreakpoint" }
|
||||
)
|
||||
vim.fn.sign_define(
|
||||
"DapBreakpointCondition",
|
||||
{ text = "", texthl = "DapBreakpoint", linehl = "DapBreakpoint", numhl = "DapBreakpoint" }
|
||||
)
|
||||
vim.fn.sign_define(
|
||||
"DapBreakpointRejected",
|
||||
{ text = "", texthl = "DapBreakpoint", linehl = "DapBreakpoint", numhl = "DapBreakpoint" }
|
||||
)
|
||||
vim.fn.sign_define(
|
||||
"DapLogPoint",
|
||||
{ text = "", texthl = "DapLogPoint", linehl = "DapLogPoint", numhl = "DapLogPoint" }
|
||||
)
|
||||
vim.fn.sign_define(
|
||||
"DapStopped",
|
||||
{ text = "", texthl = "DapStopped", linehl = "DapStopped", numhl = "DapStopped" }
|
||||
)
|
||||
end,
|
||||
},
|
||||
require("plugins.editor.debugger.debugger_go"),
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
return {
|
||||
require("plugins.editor.language_server.language_server"),
|
||||
require("plugins.editor.language_server.language_server_extra"),
|
||||
require("plugins.editor.language_server.language_server_nvim_configuration"),
|
||||
}
|
|
@ -1,30 +0,0 @@
|
|||
return {
|
||||
"mrjones2014/mdpreview.nvim",
|
||||
ft = "markdown",
|
||||
dependencies = {
|
||||
"norcalli/nvim-terminal.lua",
|
||||
config = true,
|
||||
},
|
||||
config = function()
|
||||
require("mdpreview").setup({
|
||||
cli_args = {
|
||||
"glow",
|
||||
"-s",
|
||||
"~/.config/glow/catppuccin-macchiato.json",
|
||||
"-w",
|
||||
"1",
|
||||
"--local",
|
||||
},
|
||||
renderer = {
|
||||
opts = {
|
||||
win_opts = {
|
||||
number = true,
|
||||
wrap = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
vim.keymap.set("n", "<Leader>mp", ":Mdpreview<CR>", { desc = "Show Markdown Preview" })
|
||||
end,
|
||||
}
|
|
@ -1,170 +0,0 @@
|
|||
return {
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
lazy = false,
|
||||
config = function()
|
||||
require("mason").setup()
|
||||
end,
|
||||
},
|
||||
{
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
lazy = false,
|
||||
opts = {
|
||||
auto_install = true,
|
||||
},
|
||||
config = function()
|
||||
require("mason-lspconfig").setup({
|
||||
ensure_installed = {
|
||||
"lua_ls",
|
||||
"bashls",
|
||||
"dotls",
|
||||
"jsonls",
|
||||
"sqlls",
|
||||
"lemminx",
|
||||
"yamlls",
|
||||
"marksman",
|
||||
"html",
|
||||
"emmet_ls",
|
||||
"cssls",
|
||||
"tailwindcss",
|
||||
"tsserver",
|
||||
"stimulus_ls",
|
||||
"svelte",
|
||||
"volar",
|
||||
"eslint",
|
||||
"phpactor",
|
||||
"gopls",
|
||||
"rust_analyzer",
|
||||
"jdtls",
|
||||
"kotlin_language_server",
|
||||
"pylsp",
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
lazy = false,
|
||||
config = function()
|
||||
-- Setup --
|
||||
local capabilities = require("cmp_nvim_lsp").default_capabilities()
|
||||
local lspconfig = require("lspconfig")
|
||||
|
||||
-- Lua support --
|
||||
lspconfig.lua_ls.setup({
|
||||
capabilities = capabilities,
|
||||
settings = {
|
||||
Lua = {
|
||||
diagnostics = {
|
||||
globals = { "vim" },
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
-- Bash support --
|
||||
lspconfig.bashls.setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
-- Dotenv support --
|
||||
lspconfig.dotls.setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
|
||||
-- JSON support --
|
||||
lspconfig.jsonls.setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
-- SQL support --
|
||||
lspconfig.sqlls.setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
-- XML support --
|
||||
lspconfig.lemminx.setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
-- YAML support --
|
||||
lspconfig.yamlls.setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
|
||||
-- Markdown support --
|
||||
lspconfig.marksman.setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
|
||||
-- HTML support --
|
||||
lspconfig.html.setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
-- Emmet support --
|
||||
lspconfig.emmet_ls.setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
-- PHP support --
|
||||
lspconfig.phpactor.setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
-- CSS & SCSS support --$response
|
||||
lspconfig.cssls.setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
-- Tailwind support --
|
||||
lspconfig.tailwindcss.setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
-- JavaScript & TypeScript support --
|
||||
lspconfig.tsserver.setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
-- Stimulus support --
|
||||
lspconfig.stimulus_ls.setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
-- Svelte support --
|
||||
lspconfig.svelte.setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
-- Vue support --
|
||||
lspconfig.volar.setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
|
||||
-- Go support --
|
||||
lspconfig.gopls.setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
|
||||
-- Rust support --
|
||||
lspconfig.rust_analyzer.setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
|
||||
-- Java support --
|
||||
lspconfig.jdtls.setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
-- Kotlin support --
|
||||
lspconfig.kotlin_language_server.setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
|
||||
-- Python support --
|
||||
lspconfig.pylsp.setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
|
||||
-- Eslint support --
|
||||
lspconfig.eslint.setup({
|
||||
capabilities = capabilities,
|
||||
})
|
||||
|
||||
-- Keybinding --
|
||||
|
||||
vim.keymap.set("n", "<leader>cd", vim.lsp.buf.hover, { desc = "Show Code Definition" })
|
||||
vim.keymap.set("n", "<leader>gd", vim.lsp.buf.definition, { desc = "Go to Definition" })
|
||||
vim.keymap.set("n", "<leader>gr", vim.lsp.buf.references, { desc = "Go to References" })
|
||||
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, { desc = "Do Code Actions" })
|
||||
end,
|
||||
}
|
||||
}
|
|
@ -1,40 +0,0 @@
|
|||
return {
|
||||
"nvimtools/none-ls.nvim",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
},
|
||||
config = function()
|
||||
-- Setup --
|
||||
local null_ls = require("null-ls")
|
||||
null_ls.setup({
|
||||
sources = {
|
||||
-- Prettier --
|
||||
null_ls.builtins.formatting.prettier,
|
||||
|
||||
-- Php --
|
||||
null_ls.builtins.diagnostics.phpstan,
|
||||
null_ls.builtins.formatting.phpcsfixer.with({
|
||||
prefer_local = "vendor/bin/php-cs-fixer",
|
||||
args = { "fix", "--allow-risky=yes", "$FILENAME" }
|
||||
}),
|
||||
|
||||
-- Twig --
|
||||
null_ls.builtins.diagnostics.twigcs,
|
||||
|
||||
-- JavaScript & Typescript
|
||||
--null_ls.builtins.formatting.eslint_d,
|
||||
|
||||
-- Lua --
|
||||
null_ls.builtins.formatting.stylua,
|
||||
|
||||
-- Go --
|
||||
null_ls.builtins.formatting.gofumpt,
|
||||
null_ls.builtins.code_actions.gomodifytags,
|
||||
null_ls.builtins.code_actions.impl
|
||||
},
|
||||
})
|
||||
|
||||
-- Keybinding --
|
||||
vim.keymap.set("n", "<leader>fc", vim.lsp.buf.format, { desc = "Format Code" })
|
||||
end,
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
return {
|
||||
"folke/neodev.nvim",
|
||||
dependencies = {
|
||||
"rcarriga/nvim-dap-ui",
|
||||
},
|
||||
config = function()
|
||||
require("neodev").setup({
|
||||
library = {
|
||||
plugins = {
|
||||
"nvim-dap-ui",
|
||||
},
|
||||
types = true,
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
|
@ -1,67 +0,0 @@
|
|||
return {
|
||||
"nvim-neo-tree/neo-tree.nvim",
|
||||
branch = "v3.x",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
"MunifTanjim/nui.nvim",
|
||||
},
|
||||
config = function()
|
||||
-- Setup --
|
||||
require("neo-tree").setup({
|
||||
close_if_last_window = false,
|
||||
enable_git_status = true,
|
||||
enable_diagnostics = true,
|
||||
name = {
|
||||
trailing_slash = false,
|
||||
use_git_status_colors = true,
|
||||
highlight = "NeoTreeFileName",
|
||||
},
|
||||
git_status = {
|
||||
symbols = {
|
||||
-- Git Change type Icon --
|
||||
added = "✚",
|
||||
modified = "",
|
||||
deleted = "✖",
|
||||
renamed = "",
|
||||
-- Git Status type Icon --
|
||||
untracked = "",
|
||||
ignored = "",
|
||||
unstaged = "",
|
||||
staged = "",
|
||||
conflict = "",
|
||||
}
|
||||
},
|
||||
symlink_target = {
|
||||
enabled = false,
|
||||
},
|
||||
filesystem = {
|
||||
hijack_netrw_behavior = "open_default"
|
||||
},
|
||||
-- Keybinding --
|
||||
window = {
|
||||
mappings = {
|
||||
["<space>"] = "open"
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
-- Dignostic Icons --
|
||||
vim.fn.sign_define("DiagnosticSignError", {
|
||||
text = " ", texthl = "DiagnosticSignError"
|
||||
})
|
||||
vim.fn.sign_define("DiagnosticSignWarn", {
|
||||
text = " ", texthl = "DiagnosticSignWarn"
|
||||
})
|
||||
vim.fn.sign_define("DiagnosticSignInfo", {
|
||||
text = " ", texthl = "DiagnosticSignInfo"
|
||||
})
|
||||
vim.fn.sign_define("DiagnosticSignHint", {
|
||||
text = "", texthl = "DiagnosticSignHint"
|
||||
})
|
||||
|
||||
-- Keybinding --
|
||||
vim.keymap.set("n", "<C-n>", ":Neotree toggle reveal left<CR>", { desc = "Toggle File Tree" })
|
||||
vim.keymap.set("n", "<leader>bf", ":Neotree buffers reveal float<CR>", { desc = "Show Open Files" })
|
||||
end,
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
return {
|
||||
{
|
||||
"tpope/vim-fugitive",
|
||||
},
|
||||
{
|
||||
"lewis6991/gitsigns.nvim",
|
||||
config = function()
|
||||
-- Setup --
|
||||
require("gitsigns").setup()
|
||||
|
||||
-- Keybinding --
|
||||
vim.keymap.set("n", "<leader>gh", ":Gitsigns preview_hunk_inline<CR>", { desc = "Toggle Inline Git Diff" })
|
||||
vim.keymap.set("n", "<leader>gb", ":Gitsigns toggle_current_line_blame<CR>", { desc = "Toggle Inline Git Blame" })
|
||||
vim.keymap.set("n", "<leader>go", ":Git <CR>", { desc = "Open Git" })
|
||||
end,
|
||||
},
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
return {
|
||||
"folke/which-key.nvim",
|
||||
config = function()
|
||||
vim.o.timeout = true;
|
||||
vim.o.timeoutlen = 300
|
||||
require("which-key").setup({
|
||||
|
||||
})
|
||||
end
|
||||
}
|
|
@ -1,36 +0,0 @@
|
|||
return {
|
||||
"nvim-telescope/telescope.nvim",
|
||||
tag = "0.1.5",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"nvim-telescope/telescope-ui-select.nvim"
|
||||
},
|
||||
config = function()
|
||||
-- Setup --
|
||||
require("telescope").setup({
|
||||
extensions = {
|
||||
["ui-select"] = {
|
||||
require("telescope.themes").get_dropdown({}),
|
||||
},
|
||||
},
|
||||
})
|
||||
require("telescope").load_extension("ui-select")
|
||||
|
||||
-- Keybinding --
|
||||
local function setTelescopeBinding(mode, keymap, method, search_global, description)
|
||||
local function binding()
|
||||
local path = search_global and "~" or require("neo-tree.sources.manager").get_state("filesystem").path
|
||||
method({ search_dirs = { path } })
|
||||
end
|
||||
vim.keymap.set(mode, keymap, binding, { desc = description })
|
||||
end
|
||||
|
||||
local telescope = require("telescope.builtin")
|
||||
|
||||
setTelescopeBinding("n", "<leader>ff", telescope.find_files, false, "Find File")
|
||||
setTelescopeBinding("n", "<leader>fz", telescope.live_grep, false, "Fuzzy Find")
|
||||
setTelescopeBinding("n", "<leader>gff", telescope.find_files, true, "Global Find File")
|
||||
setTelescopeBinding("n", "<leader>gfz", telescope.live_grep, true, "Global Fuzzy Find")
|
||||
|
||||
end
|
||||
}
|
|
@ -1,60 +0,0 @@
|
|||
return {
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
config = function()
|
||||
-- Setup --
|
||||
require("lualine").setup({
|
||||
options = {
|
||||
component_separators = { left = "", right = "" },
|
||||
section_separators = { left = "", right = "" },
|
||||
disabled_filetypes = {
|
||||
"neo-tree",
|
||||
"fugitive",
|
||||
"help",
|
||||
},
|
||||
ignore_focus = {},
|
||||
always_divide_middle = true,
|
||||
globalstatus = false,
|
||||
refresh = {
|
||||
statusline = 1000,
|
||||
tabline = 1000,
|
||||
winbar = 1000,
|
||||
},
|
||||
},
|
||||
sections = {
|
||||
lualine_a = { "mode" },
|
||||
lualine_b = { "branch", "diff", "diagnostics" },
|
||||
lualine_x = { "location" },
|
||||
lualine_y = { "encoding" },
|
||||
lualine_z = { "filetype" },
|
||||
},
|
||||
inactive_sections = {
|
||||
lualine_a = { "mode" },
|
||||
lualine_b = { "branch", "diff", "diagnostics" },
|
||||
lualine_x = { "location" },
|
||||
lualine_y = { "encoding" },
|
||||
lualine_z = { "filetype" },
|
||||
},
|
||||
tabline = {},
|
||||
winbar = {
|
||||
lualine_a = { "filename" },
|
||||
},
|
||||
inactive_winbar = {
|
||||
lualine_a = { "filename" },
|
||||
},
|
||||
extensions = {},
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"romgrk/barbar.nvim",
|
||||
dependencies = {
|
||||
"lewis6991/gitsigns.nvim",
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
config = function()
|
||||
require("barbar").setup()
|
||||
end,
|
||||
},
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
return {
|
||||
"caenrique/buffer-term.nvim",
|
||||
config = function()
|
||||
local buffer_term = require("buffer-term")
|
||||
buffer_term.setup()
|
||||
|
||||
-- Keybindings --
|
||||
vim.keymap.set({ "n", "t" }, "<F6>", buffer_term.toggle_last, { desc = "Toggle Last Terminal" })
|
||||
|
||||
local function getToggleTerminalFunction(terminalNumber)
|
||||
return function()
|
||||
buffer_term.toggle(terminalNumber)
|
||||
end
|
||||
end
|
||||
|
||||
for i = 0, 9 do
|
||||
local key = "<F6>" .. i
|
||||
vim.keymap.set({ "n", "t" }, key, getToggleTerminalFunction(tostring(i)), { desc = "Toggle Terminal " .. i })
|
||||
end
|
||||
end,
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
return {
|
||||
"catppuccin/nvim",
|
||||
name = "catppuccin",
|
||||
priority = 1000,
|
||||
config = function()
|
||||
-- Set Theme --
|
||||
vim.cmd("colorscheme catppuccin")
|
||||
end
|
||||
}
|
|
@ -1,114 +0,0 @@
|
|||
local Finder = {}
|
||||
|
||||
Finder = {}
|
||||
|
||||
local function is_ignored(entry, ignore_dot_dirs, ignored_dirs)
|
||||
if entry == ".." or entry == "." then
|
||||
return true
|
||||
end
|
||||
|
||||
if ignore_dot_dirs and string.match(entry, "^%.") then
|
||||
return true
|
||||
end
|
||||
|
||||
for _, dir in ipairs(ignored_dirs) do
|
||||
if entry == dir or string.find(entry, dir, 1, true) then
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
||||
return false
|
||||
end
|
||||
|
||||
local function read_dir(dir)
|
||||
local handle = io.popen('ls -a "' .. dir .. '"')
|
||||
if not handle then
|
||||
return nil
|
||||
end
|
||||
local result = handle:read("*a")
|
||||
handle:close()
|
||||
return result
|
||||
end
|
||||
|
||||
local function is_dir(path)
|
||||
local f = io.open(path, "r")
|
||||
if f == nil then
|
||||
return false
|
||||
end
|
||||
local _, _, code = f:read(1)
|
||||
f:close()
|
||||
return code == 21
|
||||
end
|
||||
|
||||
local function find_path_recursive(_dir, options)
|
||||
-- Check max Depth
|
||||
if options.current_depth > options.max_depth then
|
||||
return nil
|
||||
end
|
||||
|
||||
local entries = read_dir(_dir)
|
||||
if entries == nil then
|
||||
return nil
|
||||
end
|
||||
|
||||
for entry in string.gmatch(entries, "[^\r\n]+") do
|
||||
-- Check Ignored
|
||||
if is_ignored(entry, options.ignore_dot_dirs, options.ignored_dirs) then
|
||||
goto continue
|
||||
end
|
||||
|
||||
local full_path = _dir .. "/" .. entry
|
||||
|
||||
-- Check for File
|
||||
if entry == options.needle_file then
|
||||
return full_path
|
||||
end
|
||||
|
||||
-- Check is Dir
|
||||
if not is_dir(full_path) then
|
||||
goto continue
|
||||
end
|
||||
|
||||
-- Recursive Call
|
||||
options.current_depth = options.current_depth + 1
|
||||
local result = find_path_recursive(full_path, options)
|
||||
if result ~= nil then
|
||||
return result
|
||||
end
|
||||
|
||||
-- Cleanup
|
||||
options.current_depth = options.current_depth - 1
|
||||
::continue::
|
||||
end
|
||||
return nil
|
||||
end
|
||||
|
||||
local function get_opened_folder()
|
||||
local cwd = vim.fn.getcwd()
|
||||
local file_path = vim.fn.expand('%:p:h')
|
||||
|
||||
if file_path ~= '' then
|
||||
return file_path
|
||||
end
|
||||
return cwd
|
||||
end
|
||||
|
||||
function Finder.find_project_dir(needle_file, max_depth, priority_dirs, ignored_dirs, ignore_dot_dirs)
|
||||
local options = {
|
||||
needle_file = needle_file,
|
||||
max_depth = max_depth,
|
||||
priority_dirs = priority_dirs,
|
||||
ignored_dirs = ignored_dirs,
|
||||
ignore_dot_dirs = ignore_dot_dirs,
|
||||
current_depth = 0
|
||||
}
|
||||
|
||||
local dir = get_opened_folder()
|
||||
local file = find_path_recursive(dir, options)
|
||||
if file == nil then
|
||||
return nil
|
||||
end
|
||||
return file:match("(.*/)")
|
||||
end
|
||||
|
||||
return Finder
|
|
@ -1 +0,0 @@
|
|||
Subproject commit f882b9af13c1c5183fc7283c60c99315bf68a48f
|
|
@ -1 +0,0 @@
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
# agnoster modded
|
||||
|
||||
```bash
|
||||
DEFAULT_USER="username"
|
||||
```
|
|
@ -1,427 +0,0 @@
|
|||
#! bash oh-my-bash.module
|
||||
|
||||
PROMPT_DIRTRIM=${PROMPT_DIRTRIM:-2} # bash4 and above
|
||||
|
||||
######################################################################
|
||||
## Configurations in Oh My Bash
|
||||
|
||||
OMB_PROMPT_SHOW_PYTHON_VENV=${OMB_PROMPT_SHOW_PYTHON_VENV:=true}
|
||||
|
||||
######################################################################
|
||||
DEBUG=0
|
||||
function debug {
|
||||
if [[ ${DEBUG} -ne 0 ]]; then
|
||||
>&2 echo -e "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
######################################################################
|
||||
### Segment drawing
|
||||
# A few utility functions to make it easy and re-usable to draw segmented prompts
|
||||
|
||||
CURRENT_BG='NONE'
|
||||
CURRENT_RBG='NONE'
|
||||
SEGMENT_SEPARATOR=''
|
||||
RIGHT_SEPARATOR=''
|
||||
LEFT_SUBSEG=''
|
||||
RIGHT_SUBSEG=''
|
||||
|
||||
function text_effect {
|
||||
case "$1" in
|
||||
reset) echo 0;;
|
||||
bold) echo 1;;
|
||||
underline) echo 4;;
|
||||
esac
|
||||
}
|
||||
|
||||
# to add colors, see
|
||||
# http://bitmote.com/index.php?post/2012/11/19/Using-ANSI-Color-Codes-to-Colorize-Your-Bash-Prompt-on-Linux
|
||||
# under the "256 (8-bit) Colors" section, and follow the example for orange below
|
||||
function fg_color {
|
||||
case "$1" in
|
||||
black) echo 30;;
|
||||
red) echo 31;;
|
||||
green) echo 32;;
|
||||
yellow) echo 33;;
|
||||
blue) echo 34;;
|
||||
magenta) echo 35;;
|
||||
cyan) echo 36;;
|
||||
white) echo 37;;
|
||||
orange) echo 38\;5\;166;;
|
||||
esac
|
||||
}
|
||||
|
||||
function bg_color {
|
||||
case "$1" in
|
||||
black) echo 40;;
|
||||
red) echo 41;;
|
||||
green) echo 42;;
|
||||
yellow) echo 43;;
|
||||
blue) echo 44;;
|
||||
magenta) echo 45;;
|
||||
cyan) echo 46;;
|
||||
white) echo 47;;
|
||||
orange) echo 48\;5\;166;;
|
||||
esac;
|
||||
}
|
||||
|
||||
# TIL: declare is global not local, so best use a different name
|
||||
# for codes (mycodes) as otherwise it'll clobber the original.
|
||||
# this changes from BASH v3 to BASH v4.
|
||||
function ansi {
|
||||
local seq
|
||||
local -a mycodes=("${!1}")
|
||||
|
||||
debug "ansi: ${!1} all: $* aka ${mycodes[@]}"
|
||||
|
||||
seq=""
|
||||
local i
|
||||
for ((i = 0; i < ${#mycodes[@]}; i++)); do
|
||||
if [[ -n $seq ]]; then
|
||||
seq="${seq};"
|
||||
fi
|
||||
seq="${seq}${mycodes[$i]}"
|
||||
done
|
||||
debug "ansi debug:" '\\[\\033['${seq}'m\\]'
|
||||
echo -ne '\[\033['${seq}'m\]'
|
||||
# PR="$PR\[\033[${seq}m\]"
|
||||
}
|
||||
|
||||
function ansi_single {
|
||||
echo -ne '\[\033['$1'm\]'
|
||||
}
|
||||
|
||||
# Begin a segment
|
||||
# Takes two arguments, background and foreground. Both can be omitted,
|
||||
# rendering default background/foreground.
|
||||
function prompt_segment {
|
||||
local bg fg
|
||||
local -a codes
|
||||
|
||||
debug "Prompting $1 $2 $3"
|
||||
|
||||
# if commented out from kruton's original... I'm not clear
|
||||
# if it did anything, but it messed up things like
|
||||
# prompt_status - Erik 1/14/17
|
||||
|
||||
# if [[ -z $1 || ( -z $2 && $2 != default ) ]]; then
|
||||
codes=("${codes[@]}" $(text_effect reset))
|
||||
# fi
|
||||
if [[ -n $1 ]]; then
|
||||
bg=$(bg_color $1)
|
||||
codes=("${codes[@]}" $bg)
|
||||
debug "Added $bg as background to codes"
|
||||
fi
|
||||
if [[ -n $2 ]]; then
|
||||
fg=$(fg_color $2)
|
||||
codes=("${codes[@]}" $fg)
|
||||
debug "Added $fg as foreground to codes"
|
||||
fi
|
||||
|
||||
debug "Codes: "
|
||||
# local -p codes
|
||||
|
||||
if [[ $CURRENT_BG != NONE && $1 != $CURRENT_BG ]]; then
|
||||
local -a intermediate=($(fg_color $CURRENT_BG) $(bg_color $1))
|
||||
debug "pre prompt " $(ansi intermediate[@])
|
||||
PR="$PR $(ansi intermediate[@])$SEGMENT_SEPARATOR"
|
||||
debug "post prompt " $(ansi codes[@])
|
||||
PR="$PR$(ansi codes[@]) "
|
||||
else
|
||||
debug "no current BG, codes is $codes[@]"
|
||||
PR="$PR$(ansi codes[@]) "
|
||||
fi
|
||||
CURRENT_BG=$1
|
||||
[[ -n $3 ]] && PR="$PR$3"
|
||||
}
|
||||
|
||||
# End the prompt, closing any open segments
|
||||
function prompt_end {
|
||||
if [[ -n $CURRENT_BG ]]; then
|
||||
local -a codes=($(text_effect reset) $(fg_color $CURRENT_BG))
|
||||
PR="$PR $(ansi codes[@])$SEGMENT_SEPARATOR"
|
||||
fi
|
||||
local -a reset=($(text_effect reset))
|
||||
PR="$PR $(ansi reset[@])"
|
||||
CURRENT_BG=''
|
||||
}
|
||||
|
||||
### virtualenv prompt
|
||||
function prompt_virtualenv {
|
||||
# Exclude pyenv
|
||||
[[ $PYENV_VIRTUALENV_INIT == 1 ]] && _omb_util_binary_exists pyenv && return 0
|
||||
|
||||
if [[ -d $VIRTUAL_ENV ]]; then
|
||||
# Python could output the version information in both stdout and
|
||||
# stderr (e.g. if using pyenv, the output goes to stderr).
|
||||
local VERSION_OUTPUT=$("$VIRTUAL_ENV"/bin/python --version 2>&1)
|
||||
|
||||
# The last word of the output of `python --version`
|
||||
# corresponds to the version number.
|
||||
local VENV_VERSION=$(awk '{print $NF}' <<< "$VERSION_OUTPUT")
|
||||
|
||||
prompt_segment cyan white "[v] $(basename "$VENV_VERSION")"
|
||||
fi
|
||||
}
|
||||
|
||||
### pyenv prompt
|
||||
function prompt_pyenv {
|
||||
if [[ $PYENV_VIRTUALENV_INIT == 1 ]] && _omb_util_binary_exists pyenv; then
|
||||
# Priority is shell > local > global
|
||||
# When pyenv shell is set, the environment variable $PYENV_VERSION is set with the value we want
|
||||
if [[ ! ${PYENV_VERSION-} ]]; then
|
||||
# If not set, fall back to pyenv local/global to get the version
|
||||
local PYENV_VERSION=$(pyenv local 2>/dev/null || pyenv global 2>/dev/null)
|
||||
fi
|
||||
# If it is not the system's python, then display additional info
|
||||
if [[ "$PYENV_VERSION" != "system" ]]; then
|
||||
# It's a pyenv virtualenv, get the version number
|
||||
if [[ -d $PYENV_VIRTUAL_ENV ]]; then
|
||||
local VERSION_OUTPUT=$("$PYENV_VIRTUAL_ENV"/bin/python --version 2>&1)
|
||||
local PYENV_VENV_VERSION=$(awk '{print $NF}' <<< "$VERSION_OUTPUT")
|
||||
prompt_segment cyan white "[$PYENV_VERSION] $(basename "$PYENV_VENV_VERSION")"
|
||||
else
|
||||
prompt_segment cyan white "$PYENV_VERSION"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
### conda env prompt
|
||||
function prompt_condaenv {
|
||||
if [[ -d $CONDA_PREFIX ]]; then
|
||||
if [[ ! $CONDA_PROMPT_MODIFIER ]]; then
|
||||
CONDA_PROMPT_MODIFIER=$(basename "$CONDA_PREFIX")
|
||||
fi
|
||||
local CONDA_PYTHON_VERSION=$("$CONDA_PREFIX"/bin/python -c 'import platform;print(platform.python_version())')
|
||||
prompt_segment cyan white "[c] $CONDA_PROMPT_MODIFIER $CONDA_PYTHON_VERSION"
|
||||
fi
|
||||
}
|
||||
|
||||
### Prompt components
|
||||
# Each component will draw itself, and hide itself if no information needs to be shown
|
||||
|
||||
# Context: user@hostname (who am I and where am I)
|
||||
function prompt_context {
|
||||
local user=$(whoami)
|
||||
|
||||
if [[ $user != $DEFAULT_USER || -n $SSH_CLIENT ]]; then
|
||||
prompt_segment black default "$user@\h"
|
||||
fi
|
||||
}
|
||||
|
||||
# prints history followed by HH:MM, useful for remembering what
|
||||
# we did previously
|
||||
function prompt_histdt {
|
||||
prompt_segment black default "\! [\A]"
|
||||
}
|
||||
|
||||
|
||||
function git_status_dirty {
|
||||
dirty=$(command git status -s 2> /dev/null | tail -n 1)
|
||||
[[ -n $dirty ]] && echo " ●"
|
||||
}
|
||||
|
||||
function git_stash_dirty {
|
||||
stash=$(command git stash list 2> /dev/null | tail -n 1)
|
||||
[[ -n $stash ]] && echo " ⚑"
|
||||
}
|
||||
|
||||
# Git: branch/detached head, dirty status
|
||||
function prompt_git {
|
||||
local ref dirty
|
||||
if command git rev-parse --is-inside-work-tree &>/dev/null; then
|
||||
ZSH_THEME_GIT_PROMPT_DIRTY='±'
|
||||
dirty=$(git_status_dirty)
|
||||
stash=$(git_stash_dirty)
|
||||
ref=$(command git symbolic-ref HEAD 2> /dev/null) ||
|
||||
ref="➦ $(command git describe --exact-match --tags HEAD 2> /dev/null)" ||
|
||||
ref="➦ $(command git show-ref --head -s --abbrev | head -n1 2> /dev/null)"
|
||||
if [[ -n $dirty ]]; then
|
||||
prompt_segment yellow black
|
||||
else
|
||||
prompt_segment green black
|
||||
fi
|
||||
PR="$PR${ref/refs\/heads\// }$stash$dirty"
|
||||
fi
|
||||
}
|
||||
|
||||
# Mercurial: clean, modified and uncomitted files
|
||||
function prompt_hg {
|
||||
local rev st branch
|
||||
if hg id &>/dev/null; then
|
||||
if hg prompt &>/dev/null; then
|
||||
if [[ $(hg prompt "{status|unknown}") == '?' ]]; then
|
||||
# if files are not added
|
||||
prompt_segment red white
|
||||
st='±'
|
||||
elif [[ $(hg prompt "{status|modified}") ]]; then
|
||||
# if any modification
|
||||
prompt_segment yellow black
|
||||
st='±'
|
||||
else
|
||||
# if working copy is clean
|
||||
prompt_segment green black $CURRENT_FG
|
||||
fi
|
||||
PR="$PR$(hg prompt "☿ {rev}@{branch}") $st"
|
||||
else
|
||||
st=""
|
||||
rev=$(hg id -n 2>/dev/null | sed 's/[^-0-9]//g')
|
||||
branch=$(hg id -b 2>/dev/null)
|
||||
if hg st | grep -q "^\?"; then
|
||||
prompt_segment red white
|
||||
st='±'
|
||||
elif hg st | grep -q "^[MA]"; then
|
||||
prompt_segment yellow black
|
||||
st='±'
|
||||
else
|
||||
prompt_segment green black $CURRENT_FG
|
||||
fi
|
||||
PR="$PR☿ $rev@$branch $st"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# Dir: current working directory
|
||||
function prompt_dir {
|
||||
prompt_segment blue black '\w'
|
||||
}
|
||||
|
||||
# Status:
|
||||
# - was there an error
|
||||
# - am I root
|
||||
# - are there background jobs?
|
||||
function prompt_status {
|
||||
local symbols
|
||||
symbols=()
|
||||
[[ $RETVAL -ne 0 ]] && symbols+="$(ansi_single $(fg_color red))✘"
|
||||
[[ $UID -eq 0 ]] && symbols+="$(ansi_single $(fg_color yellow))⚡"
|
||||
[[ $(jobs -l | wc -l) -gt 0 ]] && symbols+="$(ansi_single $(fg_color cyan))⚙"
|
||||
|
||||
[[ -n "$symbols" ]] && prompt_segment black default "$symbols"
|
||||
}
|
||||
|
||||
######################################################################
|
||||
#
|
||||
# experimental right prompt stuff
|
||||
# requires setting prompt_foo to use PRIGHT vs PR
|
||||
# doesn't quite work per above
|
||||
|
||||
function rightprompt {
|
||||
printf "%*s" $COLUMNS "$PRIGHT"
|
||||
}
|
||||
|
||||
# quick right prompt I grabbed to test things.
|
||||
function __command_rprompt {
|
||||
local times= n=$COLUMNS tz
|
||||
for tz in ZRH:Europe/Zurich PIT:US/Eastern \
|
||||
MTV:US/Pacific TOK:Asia/Tokyo; do
|
||||
[ $n -gt 40 ] || break
|
||||
times="$times ${tz%%:*}\e[30;1m:\e[0;36;1m"
|
||||
times="$times$(TZ=${tz#*:} date +%H:%M)\e[0m"
|
||||
n=$(( $n - 10 ))
|
||||
done
|
||||
[ -z "$times" ] || printf "%${n}s$times\\r" ''
|
||||
}
|
||||
|
||||
# this doens't wrap code in \[ \]
|
||||
function ansi_r {
|
||||
local seq
|
||||
local -a mycodes2=("${!1}")
|
||||
|
||||
debug "ansi: ${!1} all: $* aka ${mycodes2[@]}"
|
||||
|
||||
seq=""
|
||||
local i
|
||||
for ((i = 0; i < ${#mycodes2[@]}; i++)); do
|
||||
if [[ -n $seq ]]; then
|
||||
seq="${seq};"
|
||||
fi
|
||||
seq="${seq}${mycodes2[$i]}"
|
||||
done
|
||||
debug "ansi debug:" '\\[\\033['${seq}'m\\]'
|
||||
echo -ne '\033['${seq}'m'
|
||||
# PR="$PR\[\033[${seq}m\]"
|
||||
}
|
||||
|
||||
# Begin a segment on the right
|
||||
# Takes two arguments, background and foreground. Both can be omitted,
|
||||
# rendering default background/foreground.
|
||||
function prompt_right_segment {
|
||||
local bg fg
|
||||
local -a codes
|
||||
|
||||
debug "Prompt right"
|
||||
debug "Prompting $1 $2 $3"
|
||||
|
||||
|
||||
# if [[ -z $1 || ( -z $2 && $2 != default ) ]]; then
|
||||
codes=("${codes[@]}" $(text_effect reset))
|
||||
# fi
|
||||
if [[ -n $1 ]]; then
|
||||
bg=$(bg_color $1)
|
||||
codes=("${codes[@]}" $bg)
|
||||
debug "Added $bg as background to codes"
|
||||
fi
|
||||
if [[ -n $2 ]]; then
|
||||
fg=$(fg_color $2)
|
||||
codes=("${codes[@]}" $fg)
|
||||
debug "Added $fg as foreground to codes"
|
||||
fi
|
||||
|
||||
debug "Right Codes: "
|
||||
# local -p codes
|
||||
|
||||
local -a intermediate2=($(fg_color $1) $(bg_color $CURRENT_RBG) )
|
||||
# PRIGHT="$PRIGHT---"
|
||||
debug "pre prompt " $(ansi_r intermediate2[@])
|
||||
PRIGHT="$PRIGHT$(ansi_r intermediate2[@])$RIGHT_SEPARATOR"
|
||||
debug "post prompt " $(ansi_r codes[@])
|
||||
PRIGHT="$PRIGHT$(ansi_r codes[@]) "
|
||||
# else
|
||||
# debug "no current BG, codes is $codes[@]"
|
||||
# PRIGHT="$PRIGHT$(ansi codes[@]) "
|
||||
# fi
|
||||
CURRENT_RBG=$1
|
||||
[[ -n $3 ]] && PRIGHT="$PRIGHT$3"
|
||||
}
|
||||
|
||||
######################################################################
|
||||
## Emacs prompt --- for dir tracking
|
||||
|
||||
function prompt_emacsdir {
|
||||
# no color or other setting... this will be deleted per above
|
||||
PR="DIR \w DIR$PR"
|
||||
}
|
||||
|
||||
######################################################################
|
||||
## Main prompt
|
||||
|
||||
function build_prompt {
|
||||
[[ ! -z ${AG_EMACS_DIR+x} ]] && prompt_emacsdir
|
||||
prompt_status
|
||||
#[[ -z ${AG_NO_HIST+x} ]] && prompt_histdt
|
||||
[[ -z ${AG_NO_CONTEXT+x} ]] && prompt_context
|
||||
if [[ ${OMB_PROMPT_SHOW_PYTHON_VENV-} ]]; then
|
||||
prompt_virtualenv
|
||||
prompt_pyenv
|
||||
prompt_condaenv
|
||||
fi
|
||||
prompt_dir
|
||||
prompt_git
|
||||
prompt_hg
|
||||
prompt_end
|
||||
}
|
||||
|
||||
function _omb_theme_PROMPT_COMMAND {
|
||||
local RETVAL=$?
|
||||
local PRIGHT=""
|
||||
local CURRENT_BG=NONE
|
||||
local PR="$(ansi_single $(text_effect reset))"
|
||||
build_prompt
|
||||
|
||||
# uncomment below to use right prompt
|
||||
# PS1='\[$(tput sc; printf "%*s" $COLUMNS "$PRIGHT"; tput rc)\]'$PR
|
||||
PS1=$PR
|
||||
}
|
||||
_omb_util_add_prompt_command _omb_theme_PROMPT_COMMAND
|
|
@ -1,11 +0,0 @@
|
|||
Host git.euph.dev
|
||||
User git
|
||||
HostName git.euph.dev
|
||||
PreferredAuthentications publickey
|
||||
IdentityFile ~/.ssh/gitea-snoweuph
|
||||
|
||||
Host github.com
|
||||
User git
|
||||
HostName github.com
|
||||
PreferredAuthentications publickey
|
||||
IdentityFile ~/.ssh/github-snoweuph
|
22
.gitconfig
22
.gitconfig
|
@ -1,22 +0,0 @@
|
|||
[user]
|
||||
name = Snoweuph
|
||||
email = snow+git@euph.email
|
||||
signingKey = A494330694B208EF
|
||||
[commit]
|
||||
gpgSign = true
|
||||
[push]
|
||||
autosetupremote = true
|
||||
[help]
|
||||
autoCorrect = prompt
|
||||
[merge]
|
||||
tool = meld
|
||||
conflictstyle = zdiff3
|
||||
[core]
|
||||
editor = nvim
|
||||
[diff]
|
||||
colorMoved = default
|
||||
[fetch]
|
||||
prune = true
|
||||
prunetags = true
|
||||
[alias]
|
||||
adog = log --all --decorate --oneline --graph
|
58
.gitignore
vendored
58
.gitignore
vendored
|
@ -1,23 +1,49 @@
|
|||
# Ignore Everything By Default
|
||||
/*
|
||||
# Ignore All
|
||||
*
|
||||
|
||||
# Include Git Files
|
||||
# Include .gitignore
|
||||
!.gitignore
|
||||
!.gitmodules
|
||||
|
||||
# Include Git config
|
||||
!.gitconfig
|
||||
# Include Readme.md
|
||||
!Readme.md
|
||||
|
||||
# Include bash config
|
||||
!.bash_profile
|
||||
!.bashrc
|
||||
!.profile
|
||||
# Include Rice-bowl Dir
|
||||
!rice-bowl/**/*
|
||||
!rice-bowl/*
|
||||
!rice-bowl/
|
||||
|
||||
# Include config
|
||||
!.config/
|
||||
# Include I3 Dir
|
||||
!i3/**/*
|
||||
!i3/
|
||||
|
||||
# Include ssh Symlink
|
||||
!.ssh
|
||||
# Include Awesone Dir
|
||||
!awesome/**/*
|
||||
!awesome
|
||||
|
||||
# Include Resource
|
||||
!Resources/
|
||||
# Include Picom Dir
|
||||
!picom/**/*
|
||||
!picom/
|
||||
|
||||
# Include Polybar Dir
|
||||
!polybar/**/*
|
||||
!polybar
|
||||
|
||||
# Include Allacrity Dir
|
||||
!alacritty/**/*
|
||||
!alacritty/
|
||||
|
||||
# Include Flameshot Dir
|
||||
!flameshot/**/*
|
||||
!flameshot/
|
||||
|
||||
# Include Cava Dir
|
||||
!cava/**/*
|
||||
!cava/
|
||||
|
||||
# Include Rofi Dir
|
||||
!rofi/**/*
|
||||
!rofi/
|
||||
|
||||
# Include Dunst Dir
|
||||
!dunst/**/*
|
||||
!dunst/
|
||||
|
|
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -1,3 +0,0 @@
|
|||
[submodule ".config/oh-my-bash"]
|
||||
path = .config/oh-my-bash
|
||||
url = https://github.com/ohmybash/oh-my-bash.git
|
3
.profile
3
.profile
|
@ -1,3 +0,0 @@
|
|||
# Volta
|
||||
export VOLTA_HOME="$HOME/.volta"
|
||||
export PATH="$VOLTA_HOME/bin:$PATH"
|
1
.ssh
1
.ssh
|
@ -1 +0,0 @@
|
|||
./.config/ssh
|
167
Readme.md
Normal file
167
Readme.md
Normal file
|
@ -0,0 +1,167 @@
|
|||
## Rice Bowl
|
||||
|
||||
I've created a Dir under .config called Rice Bowl which is something like the Rice Controller / Master
|
||||
|
||||
### Intallation
|
||||
- Install the software that is used by this tat you want to used
|
||||
- clone repository `git clone git@git.euph.dev:snoweuph/Dotfiles.git`
|
||||
- run install script that is located under `Dotfiles/rice-bowl/script/install.sh`
|
||||
- set paths and other values in config under `.config/rice-bowl/config`
|
||||
- run generate script once to generate config files `.config/rice-bowl/Scripts/generate_config.sh`
|
||||
|
||||
## Software Used
|
||||
|
||||
### Base
|
||||
|
||||
- Shell: ZSH
|
||||
- Terminal: Alacritty
|
||||
- Display Manager:
|
||||
- Window Manager: I3
|
||||
- Compositor: Picom
|
||||
- Program Launcher: Rofi
|
||||
- Panel: Polybar
|
||||
- Notification Server: Dunst
|
||||
- Audio Server: Pipewire
|
||||
|
||||
### Progress
|
||||
|
||||
- [x] Alacritty
|
||||
- [x] i3
|
||||
- [x] feh
|
||||
- [x] dunst
|
||||
- [x] picom
|
||||
- [x] polybar
|
||||
- [x] rofi
|
||||
- [x] cava
|
||||
- [x] flameshot
|
||||
|
||||
### CLI
|
||||
|
||||
- System Monitor: HTop
|
||||
- Music Visualizer: Cava
|
||||
- Image Viewer: Feh
|
||||
- Fetch: Neofetch
|
||||
|
||||
### GUI
|
||||
|
||||
## Dir
|
||||
|
||||
### Tree
|
||||
|
||||
```
|
||||
".config/"
|
||||
|__"rice-bowl/"
|
||||
| |__"demon.sh"
|
||||
| |__"config.sh"
|
||||
| |
|
||||
| |__"config/"
|
||||
| | |__"paths.sh"
|
||||
| | |__"fonts.sh"
|
||||
| | |__"styling.sh"
|
||||
| |
|
||||
| |__"scripts/"
|
||||
| | |__"generate_config.sh"
|
||||
| | |
|
||||
| | |__"generators/"
|
||||
| | |__"generate_<generator>_config.sh"
|
||||
| |
|
||||
| |__"themes/"
|
||||
| |__"<theme>.sh"
|
||||
|
|
||||
|__"rofi/"
|
||||
| |__"scripts/"
|
||||
| | |__"<script-name>/"
|
||||
| | |__"<script-name>.sh"
|
||||
| | |__"<script-name>.rasi"
|
||||
| |
|
||||
| |__"themes/"
|
||||
| |__"<theme-name>.rasi"
|
||||
|
|
||||
|__"i3/"
|
||||
| |__"config"
|
||||
| |
|
||||
| |__"conf/"
|
||||
| | |__"colors.conf"
|
||||
| | |__"fonts.conf"
|
||||
| | |__"bindings.conf"
|
||||
| | |__"apps.conf"
|
||||
| | |__"apps2.conf"
|
||||
| | |__"workspaces.conf"
|
||||
| | |__"styling.conf"
|
||||
| | |__"styling1.conf
|
||||
| | |__"rules.conf"
|
||||
| |
|
||||
| |__"scripts"
|
||||
| |__"polybar.sh"
|
||||
| |__"<script-name>.sh"
|
||||
|
|
||||
|__"picom/"
|
||||
| |__"picom.conf"
|
||||
|
|
||||
|__"dunst/"
|
||||
| |__"dunstrc"
|
||||
| |
|
||||
| |__"dunstrc.d"
|
||||
| |__"00-colors.conf"
|
||||
| |__"10-fonts.conf"
|
||||
| |__"50-bindings.conf"
|
||||
| |__"80-styling.conf"
|
||||
|
|
||||
|__"polybar/"
|
||||
| |__"launch.sh"
|
||||
| |__"config.ini"
|
||||
| |
|
||||
| |__"config/"
|
||||
| | |__"colors.ini"
|
||||
| | |__"fonts.ini"
|
||||
| | |__"styling.ini"
|
||||
| |
|
||||
| |__"modules/"
|
||||
| | |__"<module-name>/"
|
||||
| | |__"<module-name>.ini"
|
||||
| | |__"?<module-name>.sh"
|
||||
| | |
|
||||
| | |__"?config/"
|
||||
| | |__"<module-name>.conf"
|
||||
| |
|
||||
| |__"bars/"
|
||||
| |__"<bar-name>.ini"
|
||||
|
|
||||
|__"alacritty/"
|
||||
| |__"alacritty.yml"
|
||||
| |
|
||||
| |__"config/"
|
||||
| |__"colors.yml"
|
||||
| |__"fonts.yml"
|
||||
| |__"styling.yml"
|
||||
```
|
||||
|
||||
### Files
|
||||
|
||||
#### rice-bowl/config/paths.txt
|
||||
|
||||
```
|
||||
config-dir =
|
||||
images-dir =
|
||||
wallpaper-dir =
|
||||
screenshot-dir =
|
||||
```
|
||||
|
||||
## Themeing Engines
|
||||
- GTK
|
||||
- gtkrc
|
||||
- gtk 2
|
||||
- gtk 3
|
||||
- gtk 4
|
||||
|
||||
### Important Envoirment Variables
|
||||
|
||||
- GTK_RC_FILES
|
||||
- GTK2_RC_FILES
|
||||
|
||||
### Tools
|
||||
*All of these are their names under fedora*
|
||||
|
||||
- qt5 - qt5ct
|
||||
- qt4 - qtconfig-qt4 (provided by qtconfig)
|
||||
- gtk - lxappearance
|
Binary file not shown.
7
alacritty/alacritty.yml
Normal file
7
alacritty/alacritty.yml
Normal file
|
@ -0,0 +1,7 @@
|
|||
# This File is Automaticly Generated. Changes inside of this won't persist. For more Information Look into /home/snoweuph/.config/rice-bowl
|
||||
#Import Config
|
||||
import:
|
||||
- /home/snoweuph/.config/alacritty/config/colors.nogit.yml
|
||||
- /home/snoweuph/.config/alacritty/config/fonts.nogit.yml
|
||||
- /home/snoweuph/.config/alacritty/config/styling.nogit.yml
|
||||
|
1
alacritty/config/.gitignore
vendored
Normal file
1
alacritty/config/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
*.nogit.yml
|
46
awesome/bindings.lua
Normal file
46
awesome/bindings.lua
Normal file
|
@ -0,0 +1,46 @@
|
|||
local gears = require("gears")
|
||||
local awful = require("awful")
|
||||
|
||||
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" }, "q", 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"})
|
||||
)
|
31
awesome/config/layouts.lua
Normal file
31
awesome/config/layouts.lua
Normal file
|
@ -0,0 +1,31 @@
|
|||
-- Require Libs
|
||||
local gears = require("gears")
|
||||
local awful = require("awful")
|
||||
|
||||
-- List of All 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
|
||||
]]--
|
||||
|
||||
-- Table of layouts to Use, Order Matters
|
||||
awful.layout.layouts = {
|
||||
awful.layout.suit.tile,
|
||||
awful.layout.suit.floating,
|
||||
awful.layout.suit.spiral,
|
||||
awful.layout.suit.max.fullscreen,
|
||||
}
|
33
awesome/rc.lua
Normal file
33
awesome/rc.lua
Normal file
|
@ -0,0 +1,33 @@
|
|||
-- This File is Automaticly Generated. Changes inside of this won't persist. For more Information Look into /home/snoweuph/.config/rice-bowl
|
||||
-- Check if Lua Roocks, aka Import lib is installed
|
||||
pcall(require, "luarocks.loader")
|
||||
|
||||
-- Require Libs
|
||||
local naughty = require("naughty")
|
||||
|
||||
-- Check For Errors, fallback if found any
|
||||
if awesome.startup_errors then
|
||||
naughty.notify({ preset = naughty.config.presets.critical,
|
||||
title = "Oops, there were errors during startup!",
|
||||
text = awesome.startup_errors })
|
||||
end
|
||||
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
|
||||
|
||||
-- Import Themp Lua File
|
||||
dofile ("/home/snoweuph/.config/awesome/themp.lua")
|
||||
|
||||
|
||||
|
||||
|
472
awesome/themp.lua
Normal file
472
awesome/themp.lua
Normal file
|
@ -0,0 +1,472 @@
|
|||
-- 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")
|
||||
|
||||
|
||||
-- {{{ 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 = "alacritty"
|
||||
editor = os.getenv("EDITOR") or "nano"
|
||||
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"
|
||||
|
||||
dofile ("/home/snoweuph/.config/awesome/config/layouts.lua")
|
||||
|
||||
-- {{{ 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" }, "e", 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 }, "d", function () awful.spawn.with_shell("rofi -show drun") 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"})
|
||||
)
|
||||
|
||||
dofile ("/home/snoweuph/.config/awesome/bindings.lua")
|
||||
|
||||
-- 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)
|
||||
)
|
||||
|
||||
-- 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)
|
||||
-- }}}
|
16
cava/config
Normal file
16
cava/config
Normal file
|
@ -0,0 +1,16 @@
|
|||
# This File is Automaticly Generated. Changes inside of this won't persist. For more Information Look into /home/snoweuph/.config/rice-bowl
|
||||
|
||||
[output]
|
||||
method = ncurses
|
||||
[color]
|
||||
gradient = 1
|
||||
gradient_count = 8
|
||||
gradient_color_1 = '#5e81ac'
|
||||
gradient_color_2 = '#7db0d1'
|
||||
gradient_color_3 = '#7ebdbc'
|
||||
gradient_color_4 = '#80bf83'
|
||||
gradient_color_5 = '#adbf7c'
|
||||
gradient_color_6 = '#ebcb8b'
|
||||
gradient_color_7 = '#d08770'
|
||||
gradient_color_8 = '#bf616a'
|
||||
|
69
dunst/dunstrc
Normal file
69
dunst/dunstrc
Normal file
|
@ -0,0 +1,69 @@
|
|||
# See dunst(5) for all configuration options
|
||||
[global]
|
||||
### Display ###
|
||||
monitor = 0
|
||||
follow = none
|
||||
|
||||
origin = top-right
|
||||
scale = 0
|
||||
|
||||
notification_limit = 5
|
||||
|
||||
### Progress bar ###
|
||||
progress_bar = true
|
||||
progress_bar_height = 10
|
||||
progress_bar_frame_width = 1
|
||||
progress_bar_min_width = 150
|
||||
progress_bar_max_width = 300
|
||||
|
||||
indicate_hidden = yes
|
||||
transparency = 0
|
||||
separator_height = 2
|
||||
padding = 8
|
||||
horizontal_padding = 8
|
||||
text_icon_padding = 0
|
||||
separator_color = frame
|
||||
sort = yes
|
||||
line_height = 0
|
||||
markup = full
|
||||
format = "<b>%s</b>\n%b"
|
||||
alignment = left
|
||||
vertical_alignment = center
|
||||
show_age_threshold = 60
|
||||
ellipsize = middle
|
||||
ignore_newline = no
|
||||
stack_duplicates = true
|
||||
hide_duplicate_count = false
|
||||
show_indicators = yes
|
||||
|
||||
### Icons ###
|
||||
enable_recursive_icon_lookup = true
|
||||
icon_theme = Adwaita
|
||||
icon_position = left
|
||||
min_icon_size = 32
|
||||
max_icon_size = 128
|
||||
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
|
||||
|
||||
### History ###
|
||||
sticky_history = yes
|
||||
history_length = 20
|
||||
|
||||
### Misc/Advanced ###
|
||||
dmenu = /usr/bin/dmenu -p dunst:
|
||||
browser = /usr/bin/xdg-open
|
||||
always_run_script = true
|
||||
title = Dunst
|
||||
class = Dunst
|
||||
ignore_dbusclose = false
|
||||
|
||||
### mouse
|
||||
mouse_left_click = close_current
|
||||
mouse_middle_click = do_action, close_current
|
||||
mouse_right_click = close_all
|
||||
|
||||
[urgency_low]
|
||||
timeout = 10
|
||||
[urgency_normal]
|
||||
timeout = 10
|
||||
[urgency_critical]
|
||||
timeout = 0
|
1
dunst/dunstrc.d/.gitignore
vendored
Normal file
1
dunst/dunstrc.d/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
*.nogit.conf
|
11
flameshot/flameshot.ini
Normal file
11
flameshot/flameshot.ini
Normal file
|
@ -0,0 +1,11 @@
|
|||
# This File is Automaticly Generated. Changes inside of this won't persist. For more Information Look into /home/snoweuph/.config/rice-bowl
|
||||
[General]
|
||||
uiColor=#937db5
|
||||
contrastUiColor=#5e81ac
|
||||
|
||||
drawColor=#7db0d1
|
||||
userColors=picker, #7db0d1, #5e81ac, #937db5
|
||||
|
||||
disabledTrayIcon=true
|
||||
|
||||
|
6
flameshot/flameshot.ini.save
Normal file
6
flameshot/flameshot.ini.save
Normal file
|
@ -0,0 +1,6 @@
|
|||
[General]
|
||||
contrastOpacity=204
|
||||
contrastUiColor=#5e81ac
|
||||
disabledTrayIcon=truedrawColor=#81a1c1
|
||||
uiColor=#88c0d0
|
||||
userColors=picker, #2e3440, #bf616a, #b48ead
|
1
i3/conf/.gitignore
vendored
Normal file
1
i3/conf/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
*.nogit.conf
|
28
i3/conf/apps.conf
Normal file
28
i3/conf/apps.conf
Normal file
|
@ -0,0 +1,28 @@
|
|||
##########################
|
||||
# Configure Apps #
|
||||
##########################
|
||||
|
||||
# Include Generated Version
|
||||
include ./apps.nogit.conf
|
||||
|
||||
# Make Volume Function Keys Work
|
||||
set $refresh_i3status killall -SIGUSR1 i3status
|
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status # Increase Volume
|
||||
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status # Decrease Volume
|
||||
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status # Mute Speaker
|
||||
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status # Mute Mic
|
||||
|
||||
bindsym $mod+Return exec alacritty # open a Terminal
|
||||
|
||||
bindsym $mod+d exec --no-startup-id rofi -show drun # open Rofi
|
||||
|
||||
bindsym $mod+b exec --no-startup-id firefox # open a Browser
|
||||
|
||||
# Set Lockscreen for Suspending
|
||||
exec --no-startup-id xss-lock --transfer-sleep-lock --i3lock --nofork
|
||||
|
||||
# KDE Connect
|
||||
exec --no-startup-id kdeconnect-indicator
|
||||
|
||||
# Pulsemeeter
|
||||
exec --no-startup-id pulsemeeter
|
23
i3/conf/apps.conf.save
Normal file
23
i3/conf/apps.conf.save
Normal file
|
@ -0,0 +1,23 @@
|
|||
##########################
|
||||
# Configure Apps #
|
||||
##########################
|
||||
|
||||
# Include Generated Version
|
||||
include ./apps.nogit.conf
|
||||
|
||||
# Make Volume Function Keys Work
|
||||
set $refresh_i3status killall -SIGUSR1 i3status
|
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status # Increase Volume
|
||||
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status # Decrease Volume
|
||||
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status # Mute Speaker
|
||||
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status # Mute Mic
|
||||
|
||||
|
||||
|
||||
# Set Lockscreen for Suspending
|
||||
exec --no-startup-id xss-lock --transfer-sleep-lock --i3lock --nofork
|
||||
|
||||
#KDE Connect
|
||||
exec --no-startup-id kdeconnect-indicator
|
||||
|
||||
|
65
i3/conf/bindings.conf
Normal file
65
i3/conf/bindings.conf
Normal file
|
@ -0,0 +1,65 @@
|
|||
##########################
|
||||
# Configure Key Bindings #
|
||||
##########################
|
||||
|
||||
# reload the configuration file
|
||||
bindsym $mod+Shift+c reload
|
||||
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||
bindsym $mod+Shift+r restart
|
||||
|
||||
# change focus
|
||||
bindsym $mod+Left focus left
|
||||
bindsym $mod+Down focus down
|
||||
bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
|
||||
# move focused window
|
||||
bindsym $mod+Shift+Left move left
|
||||
bindsym $mod+Shift+Down move down
|
||||
bindsym $mod+Shift+Up move up
|
||||
bindsym $mod+Shift+Right move right
|
||||
|
||||
# change container layout (stacked, tabbed, toggle split)
|
||||
bindsym $mod+s layout stacked
|
||||
bindsym $mod+t layout tabbed
|
||||
bindsym $mod+w layout toggle split
|
||||
|
||||
# Set Split Mode
|
||||
bindsym $mod+h split h
|
||||
bindsym $mod+v split v
|
||||
|
||||
# toggle tiling / floating
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
|
||||
# change focus between tiling / floating windows
|
||||
bindsym $mod+space focus mode_toggle
|
||||
|
||||
# focus the parent container
|
||||
bindsym $mod+a focus parent
|
||||
|
||||
# enter fullscreen mode for the focused container
|
||||
bindsym $mod+f fullscreen toggle
|
||||
|
||||
# resize window (you can also use the mouse for that)
|
||||
bindsym $mod+r mode "resize"
|
||||
mode "resize" {
|
||||
# Pressing left will shrink the window’s width.
|
||||
# Pressing right will grow the window’s width.
|
||||
# Pressing up will shrink the window’s height.
|
||||
# Pressing down will grow the window’s height.
|
||||
bindsym Left resize shrink width 5 px or 5ppt
|
||||
bindsym Down resize shrink height 5 px or 5 ppt
|
||||
bindsym Up resize grow height 5 px or 5 ppt
|
||||
bindsym Right resize grow width 5 px or 5 ppt
|
||||
|
||||
# back to normal: Enter or Escape or $mod+r
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
bindsym $mod+r mode "default"
|
||||
}
|
||||
|
||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||
floating_modifier $mod
|
||||
|
||||
# kill focused window
|
||||
bindsym $mod+Shift+q kill
|
23
i3/conf/rules.conf
Normal file
23
i3/conf/rules.conf
Normal file
|
@ -0,0 +1,23 @@
|
|||
##########################
|
||||
# Configure Rules #
|
||||
##########################
|
||||
|
||||
# Firefox
|
||||
assign [class="(?i)Firefox"] 1
|
||||
|
||||
# Coding Related Windows
|
||||
assign [class="(?i)Godot"] 3
|
||||
assign [class="(?i)Code - OSS"] 3
|
||||
|
||||
assign [class="(?i)Gittyup"] 4
|
||||
|
||||
# Gaming Related Windows
|
||||
assign [class="(?i)Heroic"] 5
|
||||
assign [class="(?i)Steam"] 5
|
||||
|
||||
# Discord
|
||||
assign [class="(?i)Discord"] 6
|
||||
|
||||
# Pulsemeeter
|
||||
assign [class="(?i)Pulsemeeter"] 10
|
||||
|
55
i3/conf/workspaces.conf
Normal file
55
i3/conf/workspaces.conf
Normal file
|
@ -0,0 +1,55 @@
|
|||
##########################
|
||||
# Configure Workspaces #
|
||||
##########################
|
||||
|
||||
# Set Monitor Variables (get list with xrandr --listmonitors)
|
||||
set $monitor1 "DisplayPort-0"
|
||||
set $monitor2 "DisplayPort-1"
|
||||
set $monitor3 "DVI-D-0"
|
||||
|
||||
# Set Base Variables
|
||||
set $ws1 "1"
|
||||
set $ws2 "2"
|
||||
set $ws3 "3"
|
||||
set $ws4 "4"
|
||||
set $ws5 "5"
|
||||
set $ws6 "6"
|
||||
set $ws7 "7"
|
||||
set $ws8 "8"
|
||||
set $ws9 "9"
|
||||
set $ws10 "10"
|
||||
|
||||
# Bind Workspaces to Screens
|
||||
workspace $ws1 output $monitor1
|
||||
workspace $ws2 output $monitor1
|
||||
|
||||
workspace $ws3 output $monitor2
|
||||
workspace $ws4 output $monitor2
|
||||
workspace $ws5 output $monitor2
|
||||
|
||||
workspace $ws6 output $monitor3
|
||||
workspace $ws7 output $monitor3
|
||||
|
||||
# switch to workspace
|
||||
bindsym $mod+1 workspace number $ws1
|
||||
bindsym $mod+2 workspace number $ws2
|
||||
bindsym $mod+3 workspace number $ws3
|
||||
bindsym $mod+4 workspace number $ws4
|
||||
bindsym $mod+5 workspace number $ws5
|
||||
bindsym $mod+6 workspace number $ws6
|
||||
bindsym $mod+7 workspace number $ws7
|
||||
bindsym $mod+8 workspace number $ws8
|
||||
bindsym $mod+9 workspace number $ws9
|
||||
bindsym $mod+0 workspace number $ws10
|
||||
|
||||
# move focused container to workspace
|
||||
bindsym $mod+Shift+1 move container to workspace number $ws1
|
||||
bindsym $mod+Shift+2 move container to workspace number $ws2
|
||||
bindsym $mod+Shift+3 move container to workspace number $ws3
|
||||
bindsym $mod+Shift+4 move container to workspace number $ws4
|
||||
bindsym $mod+Shift+5 move container to workspace number $ws5
|
||||
bindsym $mod+Shift+6 move container to workspace number $ws6
|
||||
bindsym $mod+Shift+7 move container to workspace number $ws7
|
||||
bindsym $mod+Shift+8 move container to workspace number $ws8
|
||||
bindsym $mod+Shift+9 move container to workspace number $ws9
|
||||
bindsym $mod+Shift+0 move container to workspace number $ws10
|
25
i3/config
Normal file
25
i3/config
Normal file
|
@ -0,0 +1,25 @@
|
|||
#############################################################################
|
||||
# i3 config file (v4) #
|
||||
# Please see https://i3wm.org/docs/userguide.html for a complete reference! #
|
||||
#############################################################################
|
||||
|
||||
# Set Mod Key
|
||||
set $mod Mod4
|
||||
|
||||
##########################
|
||||
# Include Files #
|
||||
##########################
|
||||
|
||||
# Bindings
|
||||
include ./conf/bindings.conf
|
||||
# Workspaces
|
||||
include ./conf/workspaces.conf
|
||||
# Styling
|
||||
include ./conf/styling.nogit.conf
|
||||
# Fonts
|
||||
include ./conf/fonts.nogit.conf
|
||||
|
||||
# Applications
|
||||
include ./conf/apps.conf
|
||||
# Application Rules
|
||||
include ./conf/rules.conf
|
1
picom/.gitignore
vendored
Normal file
1
picom/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
*.nogit.conf
|
35
picom/picom.conf
Normal file
35
picom/picom.conf
Normal file
|
@ -0,0 +1,35 @@
|
|||
#################################
|
||||
# Base #
|
||||
#################################
|
||||
use-damage = true;
|
||||
backend= "glx";
|
||||
|
||||
#################################
|
||||
# Shadows #
|
||||
#################################
|
||||
shadow = false;
|
||||
shadow-radius = 7;
|
||||
shadow-offset-x = -7;
|
||||
shadow-offset-y = -7;
|
||||
shadow-exclude = [
|
||||
"name = 'Notification'",
|
||||
"class_g = 'Conky'",
|
||||
"class_g ?= 'Notify-osd'",
|
||||
"class_g = 'Cairo-clock'",
|
||||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
|
||||
|
||||
#################################
|
||||
# Fading #
|
||||
#################################
|
||||
fading = true;
|
||||
fade-in-step = 0.1;
|
||||
fade-out-step = 0.1;
|
||||
|
||||
|
||||
#################################
|
||||
# Transparency / Opacity #
|
||||
#################################
|
||||
inactive-opacity-override = false;
|
||||
focus-exclude = [ "class_g = 'Cairo-clock'" ];
|
1
polybar/.gitignore
vendored
Normal file
1
polybar/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
**.nogit.ini
|
13
polybar/bars/main.ini
Normal file
13
polybar/bars/main.ini
Normal file
|
@ -0,0 +1,13 @@
|
|||
[bar/main]
|
||||
inherit = base/bar
|
||||
|
||||
modules-left = cpm space-invert sep-b
|
||||
modules-center = single-xworkspaces
|
||||
modules-right = pulseaudio space sep-a space-invert dunst-snooze space-invert sep-b space time space sep-a date space-invert
|
||||
|
||||
tray-position = left
|
||||
tray-detached = true
|
||||
tray-scale = 0.9
|
||||
|
||||
tray-offset-x = 130
|
||||
tray-offset-y = 3
|
13
polybar/bars/single.ini
Normal file
13
polybar/bars/single.ini
Normal file
|
@ -0,0 +1,13 @@
|
|||
[bar/single]
|
||||
inherit = base/bar
|
||||
|
||||
modules-left = cpm space-invert sep-b
|
||||
modules-center = xworkspaces
|
||||
modules-right = pulseaudio space sep-a space-invert dunst-snooze space-invert sep-b space time space sep-a date space-invert
|
||||
|
||||
tray-position = left
|
||||
tray-detached = true
|
||||
tray-scale = 0.9
|
||||
|
||||
tray-offset-x = 130
|
||||
tray-offset-y = 3
|
17
polybar/bars/workspaces.ini
Normal file
17
polybar/bars/workspaces.ini
Normal file
|
@ -0,0 +1,17 @@
|
|||
[bar/workspaces]
|
||||
inherit = base/bar
|
||||
|
||||
modules-center = single-xworkspaces
|
||||
|
||||
bottom = true
|
||||
|
||||
width = 12%
|
||||
offset-x = ${style.double-gaps}
|
||||
offset-y = ${style.double-gaps}
|
||||
|
||||
border-size = ${style.border-thickness}
|
||||
border-bottom-size = ${style.border-thickness}
|
||||
border-color = ${colors.primary-accent}
|
||||
|
||||
override-redirect = true
|
||||
wm-restack = ${env:RESTACK:}
|
0
polybar/config.d/.gitkeep
Normal file
0
polybar/config.d/.gitkeep
Normal file
10
polybar/config.ini
Normal file
10
polybar/config.ini
Normal file
|
@ -0,0 +1,10 @@
|
|||
include-file = ~/.config/polybar/config.d/colors.nogit.ini
|
||||
include-file = ~/.config/polybar/config.d/fonts.nogit.ini
|
||||
include-file = ~/.config/polybar/config.d/exec.nogit.ini
|
||||
include-file = ~/.config/polybar/config.d/style.nogit.ini
|
||||
|
||||
|
||||
include-file = ~/.config/polybar/settings.nogit.ini
|
||||
|
||||
include-directory = ~/.config/polybar/modules
|
||||
include-directory = ~/.config/polybar/bars
|
7
polybar/modules/cava.ini
Normal file
7
polybar/modules/cava.ini
Normal file
|
@ -0,0 +1,7 @@
|
|||
[module/cava]
|
||||
type = custom/script
|
||||
tail = true
|
||||
exec = "${exec.cava}"
|
||||
format = <label>
|
||||
label-font = 3
|
||||
label = "%output%"
|
10
polybar/modules/cpm.ini
Normal file
10
polybar/modules/cpm.ini
Normal file
|
@ -0,0 +1,10 @@
|
|||
[module/cpm]
|
||||
type = custom/script
|
||||
exec = ~/.config/polybar/scripts/cpm.sh
|
||||
tail = true
|
||||
label = " %output%"
|
||||
|
||||
label-font = 3
|
||||
|
||||
label-background = ${colors.primary-accent}
|
||||
label-foreground = ${colors.primary-background}
|
11
polybar/modules/date.ini
Normal file
11
polybar/modules/date.ini
Normal file
|
@ -0,0 +1,11 @@
|
|||
[module/date]
|
||||
type = internal/date
|
||||
interval = 1
|
||||
|
||||
date = %d.%m
|
||||
|
||||
label-font = 3
|
||||
|
||||
label = "%date%"
|
||||
label-background = ${colors.primary-accent}
|
||||
label-foreground = ${colors.primary-background}
|
9
polybar/modules/dunst-snooze.ini
Normal file
9
polybar/modules/dunst-snooze.ini
Normal file
|
@ -0,0 +1,9 @@
|
|||
[module/dunst-snooze]
|
||||
type = custom/script
|
||||
exec = "${exec.dunst-snooze}"
|
||||
tail = true
|
||||
click-left = ~/.config/polybar/scripts/dunst-snooze.sh --toggle &
|
||||
label = "%output%"
|
||||
|
||||
label-background = ${colors.primary-accent}
|
||||
label-foreground = ${colors.primary-background}
|
18
polybar/modules/pulseaudio.ini
Normal file
18
polybar/modules/pulseaudio.ini
Normal file
|
@ -0,0 +1,18 @@
|
|||
[module/pulseaudio]
|
||||
type = internal/pulseaudio
|
||||
|
||||
format-volume-prefix = " "
|
||||
format-volume-prefix-background = ${colors.primary-background }
|
||||
format-volume-prefix-foreground = ${colors.primary-accent}
|
||||
format-volume = <label-volume>
|
||||
|
||||
label-volume = "%percentage%"
|
||||
label-volume-background = ${colors.primary-background }
|
||||
label-volume-foreground = ${colors.primary-accent}
|
||||
|
||||
label-muted = " 婢 "
|
||||
label-muted-foreground = ${colors.alert}
|
||||
label-muted-background = ${colors.primary-background }
|
||||
interval = 5
|
||||
|
||||
click-right = pavucontrol
|
12
polybar/modules/seperator.ini
Normal file
12
polybar/modules/seperator.ini
Normal file
|
@ -0,0 +1,12 @@
|
|||
[module/sep-a]
|
||||
type = custom/text
|
||||
content =
|
||||
content-foreground = ${colors.primary-accent}
|
||||
content-background = ${colors.primary-background}
|
||||
content-font = 2
|
||||
[module/sep-b]
|
||||
type = custom/text
|
||||
content =
|
||||
content-foreground = ${colors.primary-accent}
|
||||
content-background = ${colors.primarybackground}
|
||||
content-font = 2
|
48
polybar/modules/single-xworspaces.ini
Normal file
48
polybar/modules/single-xworspaces.ini
Normal file
|
@ -0,0 +1,48 @@
|
|||
[module/single-xworkspaces]
|
||||
type = internal/xworkspaces
|
||||
|
||||
#Icons
|
||||
# Consoles
|
||||
# ﭮ Discord
|
||||
# Firefox
|
||||
# Music
|
||||
# Code
|
||||
# Steam
|
||||
# Files
|
||||
|
||||
icon-default = ""
|
||||
icon-0 = "1;"
|
||||
icon-1 = "2;"
|
||||
|
||||
icon-2 = "3;"
|
||||
icon-3 = "4;"
|
||||
icon-4 = "5;"
|
||||
|
||||
icon-5 = "6;ﭮ"
|
||||
icon-9 = "10;"
|
||||
|
||||
icon-6 = "7"
|
||||
icon-7 = "8"
|
||||
icon-8 = "9"
|
||||
|
||||
label-active = "%icon%"
|
||||
label-active-background = ${colors.primary-accent}
|
||||
label-active-foreground = ${colors.primary-background}
|
||||
label-active-underline = ${colors.primary-accent}
|
||||
label-active-padding = 0
|
||||
label-active-font = 2
|
||||
|
||||
label-occupied = %icon%
|
||||
label-occupied-padding = 1
|
||||
label-occupied-font = 2
|
||||
|
||||
label-urgent = %icon%
|
||||
label-urgent-foreground = ${colors.warn}
|
||||
label-urgent-padding = 1
|
||||
label-urgent-font = 2
|
||||
|
||||
label-empty = %icon%
|
||||
label-empty-padding = 1
|
||||
label-empty-font = 2
|
||||
|
||||
pin-workspaces = true
|
9
polybar/modules/space.ini
Normal file
9
polybar/modules/space.ini
Normal file
|
@ -0,0 +1,9 @@
|
|||
[module/space]
|
||||
type = custom/text
|
||||
content = ""
|
||||
content-padding = 3pt
|
||||
[module/space-invert]
|
||||
type = custom/text
|
||||
content = ""
|
||||
content-background = ${colors.primary-accent}
|
||||
content-padding = 3pt
|
11
polybar/modules/time.ini
Normal file
11
polybar/modules/time.ini
Normal file
|
@ -0,0 +1,11 @@
|
|||
[module/time]
|
||||
type = internal/date
|
||||
interval = 1
|
||||
|
||||
date = %H:%M
|
||||
|
||||
label-font = 3
|
||||
|
||||
label = " %date%"
|
||||
label-foreground = ${colors.primary-accent}
|
||||
label-background = ${colors.primary-background}
|
4
polybar/modules/xwindow.ini
Normal file
4
polybar/modules/xwindow.ini
Normal file
|
@ -0,0 +1,4 @@
|
|||
[module/xwindow]
|
||||
type = internal/xwindow
|
||||
label = %title:0:60:...%
|
||||
format-foreground = ${colors.primary-accent}
|
46
polybar/modules/xworkspaces.ini
Normal file
46
polybar/modules/xworkspaces.ini
Normal file
|
@ -0,0 +1,46 @@
|
|||
[module/xworkspaces]
|
||||
type = internal/xworkspaces
|
||||
|
||||
#Icons
|
||||
# Consoles
|
||||
# ﭮ Discord
|
||||
# Firefox
|
||||
# Music
|
||||
# Code
|
||||
# Steam
|
||||
# Files
|
||||
|
||||
icon-default = ""
|
||||
icon-0 = "1;"
|
||||
icon-1 = "2;"
|
||||
|
||||
icon-2 = "3;"
|
||||
icon-3 = "4;"
|
||||
icon-4 = "5;"
|
||||
|
||||
icon-5 = "6;ﭮ"
|
||||
icon-9 = "10;"
|
||||
|
||||
icon-6 = "7"
|
||||
icon-7 = "8"
|
||||
icon-8 = "9"
|
||||
|
||||
label-active = "%icon%"
|
||||
label-active-background = ${colors.primary-accent}
|
||||
label-active-foreground = ${colors.primary-background}
|
||||
label-active-underline = ${colors.primary-accent}
|
||||
label-active-padding = 0
|
||||
label-active-font = 2
|
||||
|
||||
label-occupied = %icon%
|
||||
label-occupied-padding = 1
|
||||
label-occupied-font = 2
|
||||
|
||||
label-urgent = %icon%
|
||||
label-urgent-foreground = ${colors.warn}
|
||||
label-urgent-padding = 1
|
||||
label-urgent-font = 2
|
||||
|
||||
label-empty = %icon%
|
||||
label-empty-padding = 1
|
||||
label-empty-font = 2
|
65
polybar/scripts/cava.sh
Executable file
65
polybar/scripts/cava.sh
Executable file
|
@ -0,0 +1,65 @@
|
|||
#!/bin/bash
|
||||
|
||||
#bar="▁▂▃▄▅▆▇█"
|
||||
|
||||
# make sure to clean pipe
|
||||
pipe="/tmp/cava.fifo"
|
||||
if [ -p $pipe ]; then
|
||||
unlink $pipe
|
||||
fi
|
||||
mkfifo $pipe
|
||||
|
||||
# write cava config
|
||||
config_file="/tmp/polybar_cava_config"
|
||||
echo "
|
||||
[general]
|
||||
bars = 9
|
||||
|
||||
[output]
|
||||
method = raw
|
||||
raw_target = $pipe
|
||||
data_format = ascii
|
||||
ascii_max_range = 7
|
||||
" > $config_file
|
||||
|
||||
# run cava in the background
|
||||
cava -p $config_file &
|
||||
|
||||
#bar="▁▂▃▄▅▆▇█"
|
||||
# reading data from fifo
|
||||
while read -r cmd; do
|
||||
i=0
|
||||
output=""
|
||||
while [ $i -lt $((${#cmd}/2)) ]
|
||||
do
|
||||
number="${cmd:$i*2:1}"
|
||||
i=$((i=i+1))
|
||||
case "$number" in
|
||||
0)
|
||||
output="$output$(echo "%{F$1}▁")"
|
||||
;;
|
||||
1)
|
||||
output="$output$(echo "%{F$2}▂")"
|
||||
;;
|
||||
2)
|
||||
output="$output$(echo "%{F$3}▃")"
|
||||
;;
|
||||
3)
|
||||
output="$output$(echo "%{F$4}▄")"
|
||||
;;
|
||||
4)
|
||||
output="$output$(echo "%{F$5}▅")"
|
||||
;;
|
||||
5)
|
||||
output="$output$(echo "%{F$6}▆")"
|
||||
;;
|
||||
6)
|
||||
output="$output$(echo "%{F$7}▇")"
|
||||
;;
|
||||
7)
|
||||
output="$output$(echo "%{F$8}█")"
|
||||
esac
|
||||
done
|
||||
echo $output
|
||||
|
||||
done < $pipe
|
64
polybar/scripts/cpm.sh
Executable file
64
polybar/scripts/cpm.sh
Executable file
|
@ -0,0 +1,64 @@
|
|||
#!/bin/sh
|
||||
# shellcheck disable=SC2016,SC2059
|
||||
|
||||
KEYBOARD_ID="Cooler Master Technology Inc. SK650"
|
||||
|
||||
# cpm: characters per minute
|
||||
# wpm: words per minute (1 word = 5 characters)
|
||||
METRIC=cpm
|
||||
FORMAT=" %d$METRIC"
|
||||
|
||||
INTERVAL=2,5
|
||||
|
||||
# If you have a keyboard layout that is not listed here yet, create a condition
|
||||
# yourself. $3 is the key index. Use `xinput test "AT Translated Set 2 keyboard"`
|
||||
# to see key codes in real time. Be sure to open a pull request for your
|
||||
# layout's condition!
|
||||
LAYOUT=qwerty
|
||||
|
||||
case "$LAYOUT" in
|
||||
qwerty) CONDITION='($3 >= 10 && $3 <= 19) || ($3 >= 24 && $3 <= 33) || ($3 >= 37 && $3 <= 53) || ($3 >= 52 && $3 <= 58)'; ;;
|
||||
azerty) CONDITION='($3 >= 10 && $3 <= 19) || ($3 >= 24 && $3 <= 33) || ($3 >= 37 && $3 <= 54) || ($3 >= 52 && $3 <= 57)'; ;;
|
||||
qwertz) CONDITION='($3 >= 10 && $3 <= 20) || ($3 >= 24 && $3 <= 34) || ($3 == 36) || ($3 >= 38 && $3 <= 48) || ($3 >= 52 && $3 <= 58)'; ;;
|
||||
dvorak) CONDITION='($3 >= 10 && $3 <= 19) || ($3 >= 27 && $3 <= 33) || ($3 >= 38 && $3 <= 47) || ($3 >= 53 && $3 <= 61)'; ;;
|
||||
dontcare) CONDITION='1'; ;; # Just register all key presses, not only letters and numbers
|
||||
*) echo "Unsupported layout \"$LAYOUT\""; exit 1; ;;
|
||||
esac
|
||||
|
||||
# We have to account for the fact we're not listening a whole minute
|
||||
multiply_by=60
|
||||
divide_by=$INTERVAL
|
||||
|
||||
case "$METRIC" in
|
||||
wpm) divide_by=$((divide_by * 5)); ;;
|
||||
cpm) ;;
|
||||
*) echo "Unsupported metric \"$METRIC\""; exit 1; ;;
|
||||
esac
|
||||
|
||||
hackspeed_cache="$(mktemp -p '' hackspeed_cache.XXXXX)"
|
||||
trap 'rm "$hackspeed_cache"' EXIT
|
||||
|
||||
# Write a dot to our cache for each key press
|
||||
printf '' > "$hackspeed_cache"
|
||||
xinput test "$KEYBOARD_ID" | \
|
||||
stdbuf -o0 awk '$1 == "key" && $2 == "press" && ('"$CONDITION"') {printf "."}' >> "$hackspeed_cache" &
|
||||
|
||||
while true; do
|
||||
# Ask the kernel how big the file is with the command `stat`. The number we
|
||||
# get is the file size in bytes, which equals the amount of dots the file
|
||||
# contains, and hence how much keys were pressed since the file was last
|
||||
# cleared.
|
||||
lines=$(stat --format %s "$hackspeed_cache")
|
||||
|
||||
# Truncate the cache file so that in the next iteration, we count only new
|
||||
# keypresses
|
||||
printf '' > "$hackspeed_cache"
|
||||
|
||||
# The shell only does integer operations, so make sure to first multiply and
|
||||
# then divide
|
||||
value=$((lines * multiply_by / divide_by))
|
||||
|
||||
printf "$FORMAT\\n" "$value"
|
||||
|
||||
sleep $INTERVAL
|
||||
done
|
14
polybar/scripts/dunst-snooze.sh
Executable file
14
polybar/scripts/dunst-snooze.sh
Executable file
|
@ -0,0 +1,14 @@
|
|||
#!/bin/sh
|
||||
|
||||
case "$1" in
|
||||
--toggle)
|
||||
dunstctl set-paused toggle
|
||||
;;
|
||||
*)
|
||||
if [ "$(dunstctl is-paused)" = "true" ]; then
|
||||
echo "%{F$2} $(dunstctl count waiting)"
|
||||
else
|
||||
echo "%{F$1} $(dunstctl count displayed)"
|
||||
fi
|
||||
;;
|
||||
esac
|
18
polybar/scripts/launch.sh
Executable file
18
polybar/scripts/launch.sh
Executable file
|
@ -0,0 +1,18 @@
|
|||
#!/bin/bash
|
||||
|
||||
killall -q polybar
|
||||
|
||||
restack_list=('' 'i3' '')
|
||||
|
||||
i=0
|
||||
while read bar; do
|
||||
if [[ $i -eq 0 ]]; then
|
||||
# Launch Main Bar
|
||||
MONITOR=$bar polybar main 2>&1 | tee -a /tmp/polybar_$bar.log & disown
|
||||
else
|
||||
# Launch Sub Bar
|
||||
MONITOR=$bar RESTACK=${restack_list[$i]} polybar workspaces 2>&1 | tee -a /tmp/polybar_$bar.log & disown
|
||||
fi
|
||||
|
||||
i=$((i + 1))
|
||||
done < <(polybar -M | cut -d ':' -f 1)
|
9
rice-bowl/config.sh
Executable file
9
rice-bowl/config.sh
Executable file
|
@ -0,0 +1,9 @@
|
|||
#!/bin/bash
|
||||
|
||||
SH_DIR_config=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||
|
||||
RICE_GENERATED_HEADER="This File is Automaticly Generated. Changes inside of this won't persist. For more Information Look into $SH_DIR_config"
|
||||
|
||||
source $SH_DIR_config/config/paths.sh
|
||||
source $SH_DIR_config/config/fonts.sh
|
||||
source $SH_DIR_config/config/styling.sh
|
13
rice-bowl/config/fonts.sh
Executable file
13
rice-bowl/config/fonts.sh
Executable file
|
@ -0,0 +1,13 @@
|
|||
#!/bin/bash
|
||||
|
||||
RICE_FONT_NORMAL="Hack Nerd Font"
|
||||
RICE_FONT_MONO="Hack Nerd Font Mono"
|
||||
RICE_FONT_ICONS="Hack Nerd Font Mono"
|
||||
|
||||
RICE_FONT_SIZE_SMALL=14
|
||||
RICE_FONT_SIZE_NORMAL=18
|
||||
RICE_FONT_SIZE_BIG=26
|
||||
|
||||
RICE_FONT_SIZE_ICONS_SMALL=22
|
||||
RICE_FONT_SIZE_ICONS_NORMAL=28
|
||||
RICE_FONT_SIZE_ICONS_BIG=64
|
9
rice-bowl/config/paths.sh
Executable file
9
rice-bowl/config/paths.sh
Executable file
|
@ -0,0 +1,9 @@
|
|||
#!/bin/bash
|
||||
|
||||
RICE_DIR_CONFIG=~/.config
|
||||
RICE_DIR_RICE_BOWL=$RICE_DIR_CONFIG/rice-bowl
|
||||
RICE_DIR_AUTORUN=~/.autorun
|
||||
RICE_DIR_FONTS=/usr/share/fonts
|
||||
RICE_DIR_IMAGES=~/Bilder
|
||||
RICE_DIR_WALLPAPER=$RICE_DIR_IMAGES/Wallpaper
|
||||
RICE_DIR_SCREENSHOTS=$RICE_DIR_IMAGES/Screenshots
|
18
rice-bowl/config/styling.sh
Executable file
18
rice-bowl/config/styling.sh
Executable file
|
@ -0,0 +1,18 @@
|
|||
#!/bin/bash
|
||||
|
||||
RICE_THEME=nord
|
||||
|
||||
RICE_PADDING=4
|
||||
RICE_GAPS=8
|
||||
|
||||
RICE_DPI=96
|
||||
RICE_ELEMENT_HEIGHT_SMALL=22
|
||||
RICE_ELEMENT_HEIGHT_MEDIUM=$(($((RICE_ELEMENT_HEIGHT_SMALL*9))/2))
|
||||
RICE_ELEMENT_HEIGHT_BIG=$(($((RICE_ELEMENT_HEIGHT_MEDIUM*9))/2))
|
||||
|
||||
RICE_BORDER_RADIUS=8
|
||||
RICE_BORDER_THICKNESS=2
|
||||
|
||||
RICE_OPACITY_FLOAT="0.8"
|
||||
RICE_INACTIVE_OPACITY_FLOAT="0.8"
|
||||
ROCE_OPACITY_PERCENTAGE="80%"
|
0
rice-bowl/demon.sh
Normal file
0
rice-bowl/demon.sh
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
rice-bowl/resources/fonts/Hack/Hack Bold Nerd Font Complete.ttf
Normal file
BIN
rice-bowl/resources/fonts/Hack/Hack Bold Nerd Font Complete.ttf
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue