Compare commits

..

2 Commits
wip ... master

Author SHA1 Message Date
Anthony Axenov 9baedd438f Обновить dotfiles/etc/docker/daemon.json 2024-06-03 10:51:58 +00:00
Anthony Axenov 49595c7df5
docker mirrors 2024-05-31 00:13:37 +08:00
52 changed files with 430 additions and 1309 deletions

View File

@ -1,15 +1,15 @@
# Autogenerated at 31.08.2023 12:47 using ./gen-makefile # Autogenerated at 12.04.2023 19:04 using ./gen-makefile
.DEFAULT_GOAL := help .DEFAULT_GOAL := help
#=============================================== #===============================================
# Scripts listed in ./install # Scripts listed in ./install
#=============================================== #===============================================
##apache2: Install apache2 (latest) ##apache: Install apache2 (latest)
apache2: apache:
@./install/apache2 @./install/apache
##apt: Install software from apt ##apt: Install bunch of software from apt
apt: apt:
@./install/apt @./install/apt
@ -33,7 +33,7 @@ docker:
dots: dots:
@./install/dots @./install/dots
##droidcam: Install droidcam v1.9.0 ##droidcam: Install droidcam v1.8.2
droidcam: droidcam:
@./install/droidcam @./install/droidcam
@ -41,21 +41,21 @@ droidcam:
droidcam-obs: droidcam-obs:
@./install/droidcam-obs @./install/droidcam-obs
##flameshot: Install flameshot (latest) ##flameshot-build: [TODO] Build flameshot from src (latest)
flameshot: flameshot-build:
@./install/flameshot @./install/flameshot-build
##git: Install git (latest) ##git: Install git (latest)
git: git:
@./install/git @./install/git
##golang: Install golang v1.21.0 ##golang: Install golang v1.18.3
golang: golang:
@./install/golang @./install/golang
##grub-customizer: Install grub-customizer (latest + ppa) ##grubc: Install grub-customizer (latest) + ppa
grub-customizer: grubc:
@./install/grub-customizer @./install/grubc
##jbmono: Install JetBrains Mono fonts ##jbmono: Install JetBrains Mono fonts
jbmono: jbmono:
@ -109,7 +109,7 @@ omz-clean:
omz-fancy: omz-fancy:
@./install/omz-fancy @./install/omz-fancy
##openvpn: Install openvpn v2.6.3 (src) ##openvpn: Install openvpn v2.5.8 (src)
openvpn: openvpn:
@./install/openvpn @./install/openvpn
@ -242,18 +242,10 @@ phpstack: php phptools
# Scripts listed in ./uninstall # Scripts listed in ./uninstall
#=============================================== #===============================================
##/apache2: Uninstall apache2
/apache2:
@./uninstall/apache2
##/docker: Uninstall docker + ppa ##/docker: Uninstall docker + ppa
/docker: /docker:
@./uninstall/docker @./uninstall/docker
##/grub-customizer: Uninstall grub-customizer with ppa
/grub-customizer:
@./uninstall/grub-customizer
##/lite-xl: Uninstall lite-xl ##/lite-xl: Uninstall lite-xl
/lite-xl: /lite-xl:
@./uninstall/lite-xl @./uninstall/lite-xl

View File

@ -0,0 +1,11 @@
{
"registry-mirrors": [
"https://dockerhub.timeweb.cloud",
"https://dh-mirror.gitverse.ru",
"https://mirror.gcr.io",
"https://daocloud.io",
"https://c.163.com/",
"https://registry.docker-cn.com",
"https://huecker.io"
]
}

View File

@ -1,11 +0,0 @@
require('core.plugins') -- plugins
require('core.mappings') -- key bindings
require('core.colors') -- colors and themes
-- require('core.config')
-- require('plugins.lsp')
-- require('plugins.mason')
-- require('plugins.neotree')
-- require('plugins.treesitter')
-- require('plugins.telescope')
-- require('plugins.dashboard')

View File

@ -1,6 +0,0 @@
{
"lazy.nvim": { "branch": "main", "commit": "758bb5de98b805acc5eeed8cdc8ac7f0bc4b0b86" },
"onedark.vim": { "branch": "main", "commit": "57b77747694ea5676c3ca0eeaf9567dc499730c0" },
"toggleterm.nvim": { "branch": "main", "commit": "066cccf48a43553a80a210eb3be89a15d789d6e6" },
"vim-be-good": { "branch": "master", "commit": "4fa57b7957715c91326fcead58c1fa898b9b3625" }
}

View File

@ -1,13 +0,0 @@
vim.opt.termguicolors = true
function SetColor(color)
color = color or "onedark"
vim.cmd.colorscheme(color)
-- vim.api.nvim_set_hl(0, "Normal", {bg = "none"})
-- vim.api.nvim_set_hl(0, "NormalFloat", {bg = "none"})
-- vim.api.nvim_set_hl(0, "ColorColumn", {bg = "none"})
-- vim.api.nvim_set_hl(0, "LineNr", {bg = "none"})
end
SetColor()

View File

@ -1,54 +0,0 @@
vim.wo.number = true
vim.wo.relativenumber = false
vim.g.did_load_filetypes = 1
vim.g.formatoptions = "qrn1"
vim.opt.showmode = false
vim.opt.updatetime = 100
vim.wo.signcolumn = "yes"
vim.opt.scrolloff = 8
vim.opt.wrap = false
vim.wo.linebreak = true
vim.opt.virtualedit = "block"
vim.opt.undofile = true
vim.opt.shell = "/bin/zsh"
-- Mouse
vim.opt.mouse = "a"
vim.opt.mousefocus = true
-- Line Numbers
vim.opt.number = true
vim.opt.relativenumber = true
-- Splits
vim.opt.splitbelow = true
vim.opt.splitright = false
-- Clipboard
vim.opt.clipboard = "unnamedplus"
-- Shorter messages
vim.opt.shortmess:append("c")
-- Indent Settings
vim.opt.expandtab = true
vim.opt.shiftwidth = 4
vim.opt.tabstop = 4
vim.opt.softtabstop = 4
vim.opt.smartindent = true
-- Fillchars
vim.opt.fillchars = {
vert = "",
fold = "",
eob = " ", -- suppress ~ at EndOfBuffer
-- diff = "⣿", -- alternatives = ⣿ ░ ─
msgsep = "",
foldopen = "",
foldsep = "",
foldclose = ""
}
vim.cmd([[highlight clear LineNr]])
vim.cmd([[highlight clear SignColumn]])

View File

@ -1,7 +0,0 @@
vim.g.mapleader = " "
-- Neotree
-- vim.keymap.set('n', '<leader>e', ':Neotree float focus<CR>')
-- vim.keymap.set('n', '<leader>o', ':Neotree float git_status<CR>')

View File

@ -1,111 +0,0 @@
local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim'
if not (vim.uv or vim.loop).fs_stat(lazypath) then
vim.fn.system({
'git',
'clone',
'--filter=blob:none',
'https://github.com/folke/lazy.nvim.git',
'--branch=stable', -- latest stable release
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
require('lazy').setup({
-----------------------------------------------------------------
-- Example
-----------------------------------------------------------------
-- https://github.com/vendor/package
-- { 'vendor/package' },
-----------------------------------------------------------------
-- Misc
-----------------------------------------------------------------
-- https://github.com/ThePrimeagen/vim-be-good
{ 'ThePrimeagen/vim-be-good' },
-----------------------------------------------------------------
-- Navigation
-----------------------------------------------------------------
-- https://github.com/smoka7/hop.nvim
-- { 'smoka7/hop.nvim' },
-- https://github.com/akinsho/nvim-toggleterm.lua
{
'akinsho/toggleterm.nvim',
version = "*",
config = true,
},
-- https://github.com/nvim-neo-tree/neo-tree.nvim
-- {
-- 'nvim-neo-tree/neo-tree.nvim',
-- branch = 'v3.x',
-- dependencies = {
-- 'nvim-lua/plenary.nvim',
-- 'nvim-tree/nvim-web-devicons', -- not strictly required, but recommended
-- 'MunifTanjim/nui.nvim',
-- -- '3rd/image.nvim', -- Optional image support in preview window: See `# Preview Mode` for more information
-- }
-- },
-- https://github.com/nvim-telescope/telescope.nvim
-- {
-- 'nvim-telescope/telescope.nvim',
-- branch = '0.1.x',
-- dependencies = { 'nvim-lua/plenary.nvim' }
-- },
-----------------------------------------------------------------
-- Colors, themes & highlighting
-----------------------------------------------------------------
-- https://github.com/glepnir/dashboard-nvim
-- {
-- 'glepnir/dashboard-nvim',
-- event = 'VimEnter',
-- dependencies = {{'nvim-tree/nvim-web-devicons'}}
-- },
-- https://github.com/joshdick/onedark.vim
{ 'joshdick/onedark.vim' },
-- https://github.com/nvim-treesitter/nvim-treesitter
-- { 'nvim-treesitter/nvim-treesitter' },
-- https://github.com/folke/todo-comments.nvim
-- { 'folke/todo-comments.nvim' },
-----------------------------------------------------------------
-- LSP & autocomplete
-----------------------------------------------------------------
-- https://github.com/folke/neodev.nvim
-- { 'folke/neodev.nvim' },
-- https://github.com/williamboman/mason.nvim
-- { 'williamboman/mason.nvim' },
-- https://github.com/neovim/nvim-lspconfig
-- { 'neovim/nvim-lspconfig' },
-- https://github.com/hrsh7th/cmp-nvim-lsp
-- { 'hrsh7th/cmp-nvim-lsp' },
-- https://github.com/hrsh7th/cmp-buffer
-- { 'hrsh7th/cmp-buffer' },
-- https://github.com/hrsh7th/cmp-path
-- { 'hrsh7th/cmp-path' },
-- https://github.com/hrsh7th/cmp-cmdline
-- { 'hrsh7th/cmp-cmdline' },
-- https://github.com/hrsh7th/nvim-cmp
-- { 'hrsh7th/nvim-cmp' },
})

View File

@ -1,187 +0,0 @@
local function header()
local logos = {
-- generated in https://patorjk.com/software/taag/#p=testall&t=NeoVim
{
'','','',
"888888ba dP dP oo ",
"88 `8b 88 88 ",
"88 88 .d8888b. .d8888b. 88 .8P dP 88d8b.d8b. ",
"88 88 88ooood8 88' `88 88 d8' 88 88'`88'`88 ",
"88 88 88. ... 88. .88 88 .d8P 88 88 88 88 ",
"dP dP `88888P' `88888P' 888888' dP dP dP dP ",
'','','',
},
{
'','','','','',
" _ _ __ ___ ",
"| \\ | | \\ \\ / (_) ",
"| \\| | ___ __\\ \\ / / _ _ __ ___ ",
"| . ` |/ _ \\/ _ \\ \\/ / | | '_ ` _ \\ ",
"| |\\ | __/ (_) \\ / | | | | | | |",
"|_| \\_|\\___|\\___/ \\/ |_|_| |_| |_| ",
'','','','','',
},
{
'','','','','',
" _ _ __ ___ ",
"| \\ | | ___ __\\ \\ / (_)_ __ ___",
" | \\| |/ _ \\/ _ \\ \\ / /| | '_ ` _ \\",
" | |\\ | __/ (_) \\ V / | | | | | | |",
" |_| \\_|\\___|\\___/ \\_/ |_|_| |_| |_|",
'','','','','',
},
{
'','','','','',
" _ __ __ ___ ",
" / | / /__ ____| | / (_)___ ___ ",
" / |/ / _ \\/ __ \\ | / / / __ `__ \\",
" / /| / __/ /_/ / |/ / / / / / / /",
"/_/ |_/\\___/\\____/|___/_/_/ /_/ /_/ ",
'','','','','',
},
{
'','','',
'888b 888 888 888 d8b ',
'8888b 888 888 888 Y8P ',
'88888b 888 888 888 ',
'888Y88b 888 .d88b. .d88b. Y88b d88P 888 88888b.d88b. ',
'888 Y88b888 d8P Y8b d88""88b Y88b d88P 888 888 "888 "88b ',
'888 Y88888 88888888 888 888 Y88o88P 888 888 888 888 ',
'888 Y8888 Y8b. Y88..88P Y888P 888 888 888 888 ',
'888 Y888 "Y8888 "Y88P" Y8P 888 888 888 888 ',
'','','',
},
{
'','','',
"███╗ ██╗███████╗ ██████╗ ██╗ ██╗██╗███╗ ███╗",
"████╗ ██║██╔════╝██╔═══██╗██║ ██║██║████╗ ████║",
"██╔██╗ ██║█████╗ ██║ ██║██║ ██║██║██╔████╔██║",
"██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║",
"██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║",
"╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═╝ ╚═╝",
'','','',
},
{
'','','',
"███ ██ ███████ ██████ ██ ██ ██ ███ ███ ",
"████ ██ ██ ██ ██ ██ ██ ██ ████ ████ ",
"██ ██ ██ █████ ██ ██ ██ ██ ██ ██ ████ ██ ",
"██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ",
"██ ████ ███████ ██████ ████ ██ ██ ██ ",
'','','',
},
{
'','','',
"_ _______ _______ _________ _______ ",
"( ( /|( ____ \\( ___ )|\\ /|\\__ __/( )",
"| \\ ( || ( \\/| ( ) || ) ( | ) ( | () () |",
"| \\ | || (__ | | | || | | | | | | || || |",
"| (\\ \\) || __) | | | |( ( ) ) | | | |(_)| |",
"| | \\ || ( | | | | \\ \\_/ / | | | | | |",
"| ) \\ || (____/\\| (___) | \\ / ___) (___| ) ( |",
"|/ )_)(_______/(_______) \\_/ \\_______/|/ \\|",
'','','',
},
{
'','','',
"$$\\ $$\\ $$\\ $$\\ $$\\ ",
"$$$\\ $$ | $$ | $$ |\\__| ",
"$$$$\\ $$ | $$$$$$\\ $$$$$$\\ $$ | $$ |$$\\ $$$$$$\\$$$$\\ ",
"$$ $$\\$$ |$$ __$$\\ $$ __$$\\\\$$\\ $$ |$$ |$$ _$$ _$$\\ ",
"$$ \\$$$$ |$$$$$$$$ |$$ / $$ |\\$$\\$$ / $$ |$$ / $$ / $$ |",
"$$ |\\$$$ |$$ ____|$$ | $$ | \\$$$ / $$ |$$ | $$ | $$ |",
"$$ | \\$$ |\\$$$$$$$\\ \\$$$$$$ | \\$ / $$ |$$ | $$ | $$ |",
"\\__| \\__| \\_______| \\______/ \\_/ \\__|\\__| \\__| \\__|",
'','','',
},
{
'','','',
" /$$ /$$ /$$ /$$ /$$ ",
"| $$$ | $$ | $$ | $$|__/ ",
"| $$$$| $$ /$$$$$$ /$$$$$$ | $$ | $$ /$$ /$$$$$$/$$$$",
"| $$ $$ $$ /$$__ $$ /$$__ $$| $$ / $$/| $$| $$_ $$_ $$",
"| $$ $$$$| $$$$$$$$| $$ \\ $$ \\ $$ $$/ | $$| $$ \\ $$ \\ $$",
"| $$\\ $$$| $$_____/| $$ | $$ \\ $$$/ | $$| $$ | $$ | $$",
"| $$ \\ $$| $$$$$$$| $$$$$$/ \\ $/ | $$| $$ | $$ | $$",
"|__/ \\__/ \\_______/ \\______/ \\_/ |__/|__/ |__/ |__/",
'','','',
},
{
'','','',
"__ __ __ __ __ ",
"| \\ | \\ | \\ | \\| \\ ",
"| $$\\ | $$ ______ ______ | $$ | $$ \\$$ ______ ____ ",
"| $$$\\| $$ / \\ / \\| $$ | $$| \\| \\ \\ ",
"| $$$$\\ $$| $$$$$$\\| $$$$$$\\\\$$\\ / $$| $$| $$$$$$\\$$$$\\",
"| $$\\$$ $$| $$ $$| $$ | $$ \\$$\\ $$ | $$| $$ | $$ | $$",
"| $$ \\$$$$| $$$$$$$$| $$__/ $$ \\$$ $$ | $$| $$ | $$ | $$",
"| $$ \\$$$ \\$$ \\ \\$$ $$ \\$$$ | $$| $$ | $$ | $$",
" \\$$ \\$$ \\$$$$$$$ \\$$$$$$ \\$ \\$$ \\$$ \\$$ \\$$",
'','','',
},
{
'','','',
"__ __ __ __ __ ",
"/ \\ / | / | / |/ | ",
"$$ \\ $$ | ______ ______ $$ | $$ |$$/ _____ ____ ",
"$$$ \\$$ | / \\ / \\ $$ | $$ |/ |/ \\/ \\ ",
"$$$$ $$ |/$$$$$$ |/$$$$$$ |$$ \\ /$$/ $$ |$$$$$$ $$$$ |",
"$$ $$ $$ |$$ $$ |$$ | $$ | $$ /$$/ $$ |$$ | $$ | $$ |",
"$$ |$$$$ |$$$$$$$$/ $$ \\__$$ | $$ $$/ $$ |$$ | $$ | $$ |",
"$$ | $$$ |$$ |$$ $$/ $$$/ $$ |$$ | $$ | $$ |",
"$$/ $$/ $$$$$$$/ $$$$$$/ $/ $$/ $$/ $$/ $$/ ",
'','','',
},
}
math.randomseed(os.time())
return logos[math.random(#logos)]
end
require('dashboard').setup({
theme = 'doom',
config = {
header = header(),
center = {
{
icon = '󰙅 ',
icon_hl = 'Title',
desc = 'Open tree',
desc_hl = 'String',
key = 'e',
keymap = 'SPC e',
key_hl = 'Number',
action = ':Neotree float'
},
{
icon = '󰈞 ',
icon_hl = 'Title',
desc = 'Find files',
desc_hl = 'String',
key = 'f',
keymap = 'SPC f f',
key_hl = 'Number',
action = ':Telescope find_files'
},
{
icon = '',
icon_hl = 'Title',
desc = 'Find text',
desc_hl = 'String',
key = 'w',
keymap = 'SPC f w',
key_hl = 'Number',
action = ':Telescope live_grep'
},
{
icon = '',
icon_hl = 'Title',
desc = 'Git Braches',
desc_hl = 'String',
key = 'b',
keymap = 'SPC g b',
key_hl = 'Number',
action = ':Telescope git_branches'
}
}
}
})

View File

@ -1,60 +0,0 @@
-- require('lspconfig').pyright.setup{}
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)
-- Sntup language servers.
local lspconfig = require('lspconfig')
lspconfig.pyright.setup {}
lspconfig.tsserver.setup {}
lspconfig.prismals.setup {}
lspconfig.cssls.setup {
capabilities = capabilities
}
lspconfig.golangci_lint_ls.setup {}
lspconfig.rust_analyzer.setup {
settings = {
['rust-analyzer'] = {
diagnostics = {
enable = true,
experimental = {
enable = true,
},
},
},
},
}
-- Global mappings.
-- See `:help vim.diagnostic.*` for documentation on any of the below functions
vim.keymap.set('n', '<leader>lD', vim.diagnostic.open_float)
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev)
vim.keymap.set('n', ']d', vim.diagnostic.goto_next)
vim.keymap.set('n', '<leader>ld', vim.diagnostic.setloclist)
-- Use LspAttach autocommand to only map the following keys
-- after the language server attaches to the current buffer
vim.api.nvim_create_autocmd('LspAttach', {
group = vim.api.nvim_create_augroup('UserLspConfig', {}),
callback = function(ev)
-- Enable completion triggered by <c-x><c-o>
vim.bo[ev.buf].omnifunc = 'v:lua.vim.lsp.omnifunc'
local opts = {buffer = ev.buf}
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, opts)
vim.keymap.set('n', 'K', vim.lsp.buf.hover, opts)
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, opts)
vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, opts)
-- vim.keymap
-- .set('n', '<Leader>sa', vim.lsp.buf.add_workspace_folder, opts)
-- vim.keymap.set('n', '<Leader>sr', vim.lsp.buf.remove_workspace_folder,
-- opts)
-- vim.keymap.set('n', '<Leader>sl', function()
-- print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
-- end, opts)
-- vim.keymap.set('n', '<Leader>D', vim.lsp.buf.type_definition, opts)
vim.keymap.set('n', '<Leader>lr', vim.lsp.buf.rename, opts)
vim.keymap.set({'n', 'v'}, '<Leader>la', vim.lsp.buf.code_action, opts)
-- vim.keymap.set('n', 'gr', vim.lsp.buf.references, opts)
vim.keymap.set('n', '<Leader>lf',
function() vim.lsp.buf.format {async = true} end, opts)
end
})

View File

@ -1 +0,0 @@
require("mason").setup()

View File

@ -1,278 +0,0 @@
-- https://github.com/nvim-neo-tree/neo-tree.nvim
-- If you want icons for diagnostic errors, you'll need to define them somewhere:
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" })
require("neo-tree").setup({
close_if_last_window = true, -- Close Neo-tree if it is the last window left in the tab
popup_border_style = "rounded",
enable_git_status = true,
enable_diagnostics = true,
enable_normal_mode_for_inputs = false, -- Enable normal mode for input dialogs.
open_files_do_not_replace_types = { "terminal", "trouble", "qf" }, -- when opening files, do not use windows containing these filetypes or buftypes
sort_case_insensitive = false, -- used when sorting files and directories in the tree
sort_function = nil, -- use a custom function for sorting files and directories in the tree
-- sort_function = function (a,b)
-- if a.type == b.type then
-- return a.path > b.path
-- else
-- return a.type > b.type
-- end
-- end , -- this sorts files and directories descendantly
default_component_configs = {
container = {
enable_character_fade = true
},
indent = {
indent_size = 2,
padding = 1, -- extra padding on left hand side
-- indent guides
with_markers = true,
indent_marker = "",
last_indent_marker = "",
highlight = "NeoTreeIndentMarker",
-- expander config, needed for nesting files
with_expanders = nil, -- if nil and file nesting is enabled, will enable expanders
expander_collapsed = "",
expander_expanded = "",
expander_highlight = "NeoTreeExpander",
},
icon = {
folder_closed = "",
folder_open = "",
folder_empty = "󰜌",
-- The next two settings are only a fallback, if you use nvim-web-devicons and configure default icons there
-- then these will never be used.
default = "*",
highlight = "NeoTreeFileIcon"
},
modified = {
symbol = "[+]",
highlight = "NeoTreeModified",
},
name = {
trailing_slash = false,
use_git_status_colors = true,
highlight = "NeoTreeFileName",
},
git_status = {
symbols = {
-- Change type
added = "", -- or "✚", but this is redundant info if you use git_status_colors on the name
modified = "", -- or "", but this is redundant info if you use git_status_colors on the name
deleted = "", -- this can only be used in the git_status source
renamed = "󰁕", -- this can only be used in the git_status source
-- Status type
untracked = "",
ignored = "",
unstaged = "󰄱",
staged = "",
conflict = "",
}
},
-- If you don't want to use these columns, you can set `enabled = false` for each of them individually
file_size = {
enabled = true,
required_width = 64, -- min width of window required to show this column
},
type = {
enabled = true,
required_width = 122, -- min width of window required to show this column
},
last_modified = {
enabled = true,
required_width = 88, -- min width of window required to show this column
},
created = {
enabled = true,
required_width = 110, -- min width of window required to show this column
},
symlink_target = {
enabled = false,
},
},
-- A list of functions, each representing a global custom command
-- that will be available in all sources (if not overridden in `opts[source_name].commands`)
-- see `:h neo-tree-custom-commands-global`
commands = {},
window = {
position = "left",
width = 40,
mapping_options = {
noremap = true,
nowait = true,
},
-- mappings = {
-- ["<space>"] = {
-- "toggle_node",
-- nowait = false, -- disable `nowait` if you have existing combos starting with this char that you want to use
-- },
-- ["<2-LeftMouse>"] = "open",
-- ["<cr>"] = "open",
-- ["<esc>"] = "cancel", -- close preview or floating neo-tree window
-- ["P"] = { "toggle_preview", config = { use_float = true, use_image_nvim = true } },
-- -- Read `# Preview Mode` for more information
-- ["l"] = "focus_preview",
-- ["S"] = "open_split",
-- ["s"] = "open_vsplit",
-- -- ["S"] = "split_with_window_picker",
-- -- ["s"] = "vsplit_with_window_picker",
-- ["t"] = "open_tabnew",
-- -- ["<cr>"] = "open_drop",
-- -- ["t"] = "open_tab_drop",
-- ["w"] = "open_with_window_picker",
-- --["P"] = "toggle_preview", -- enter preview mode, which shows the current node without focusing
-- ["C"] = "close_node",
-- -- ['C'] = 'close_all_subnodes',
-- ["z"] = "close_all_nodes",
-- --["Z"] = "expand_all_nodes",
-- ["a"] = {
-- "add",
-- -- this command supports BASH style brace expansion ("x{a,b,c}" -> xa,xb,xc). see `:h neo-tree-file-actions` for details
-- -- some commands may take optional config options, see `:h neo-tree-mappings` for details
-- config = {
-- show_path = "none" -- "none", "relative", "absolute"
-- }
-- },
-- ["A"] = "add_directory", -- also accepts the optional config.show_path option like "add". this also supports BASH style brace expansion.
-- ["d"] = "delete",
-- ["r"] = "rename",
-- ["y"] = "copy_to_clipboard",
-- ["x"] = "cut_to_clipboard",
-- ["p"] = "paste_from_clipboard",
-- ["c"] = "copy", -- takes text input for destination, also accepts the optional config.show_path option like "add":
-- -- ["c"] = {
-- -- "copy",
-- -- config = {
-- -- show_path = "none" -- "none", "relative", "absolute"
-- -- }
-- --}
-- ["m"] = "move", -- takes text input for destination, also accepts the optional config.show_path option like "add".
-- ["q"] = "close_window",
-- ["R"] = "refresh",
-- ["?"] = "show_help",
-- ["<"] = "prev_source",
-- [">"] = "next_source",
-- ["i"] = "show_file_details",
-- }
},
nesting_rules = {},
filesystem = {
filtered_items = {
visible = true, -- when true, they will just be displayed differently than normal items
hide_dotfiles = false,
hide_gitignored = false,
hide_hidden = false, -- only works on Windows for hidden files/directories
-- hide_by_name = {
-- "node_modules"
-- },
-- hide_by_pattern = { -- uses glob style patterns
--"*.meta",
--"*/src/*/tsconfig.json",
-- },
always_show = { -- remains visible even if other settings would normally hide it
".gitignore",
},
never_show = { -- remains hidden even if visible is toggled to true, this overrides always_show
".DS_Store",
"thumbs.db"
},
-- never_show_by_pattern = { -- uses glob style patterns
--".null-ls_*",
-- },
},
follow_current_file = {
enabled = false, -- This will find and focus the file in the active buffer every time
-- -- the current file is changed while the tree is open.
leave_dirs_open = false, -- `false` closes auto expanded dirs, such as with `:Neotree reveal`
},
group_empty_dirs = true, -- when true, empty folders will be grouped together
-- hijack_netrw_behavior = "open_default", -- netrw disabled, opening a directory opens neo-tree
-- in whatever position is specified in window.position
-- "open_current", -- netrw disabled, opening a directory opens within the
-- window like netrw would, regardless of window.position
-- "disabled", -- netrw left alone, neo-tree does not handle opening dirs
use_libuv_file_watcher = true, -- This will use the OS level file watchers to detect changes
-- instead of relying on nvim autocmd events.
-- window = {
-- mappings = {
-- ["<bs>"] = "navigate_up",
-- ["."] = "set_root",
-- ["H"] = "toggle_hidden",
-- ["/"] = "fuzzy_finder",
-- ["D"] = "fuzzy_finder_directory",
-- ["#"] = "fuzzy_sorter", -- fuzzy sorting using the fzy algorithm
-- -- ["D"] = "fuzzy_sorter_directory",
-- ["f"] = "filter_on_submit",
-- ["<c-x>"] = "clear_filter",
-- ["[g"] = "prev_git_modified",
-- ["]g"] = "next_git_modified",
-- ["o"] = { "show_help", nowait = false, config = { title = "Order by", prefix_key = "o" } },
-- ["oc"] = { "order_by_created", nowait = false },
-- ["od"] = { "order_by_diagnostics", nowait = false },
-- ["og"] = { "order_by_git_status", nowait = false },
-- ["om"] = { "order_by_modified", nowait = false },
-- ["on"] = { "order_by_name", nowait = false },
-- ["os"] = { "order_by_size", nowait = false },
-- ["ot"] = { "order_by_type", nowait = false },
-- -- ['<key>'] = function(state) ... end,
-- },
-- fuzzy_finder_mappings = { -- define keymaps for filter popup window in fuzzy_finder_mode
-- ["<down>"] = "move_cursor_down",
-- ["<C-n>"] = "move_cursor_down",
-- ["<up>"] = "move_cursor_up",
-- ["<C-p>"] = "move_cursor_up",
-- -- ['<key>'] = function(state, scroll_padding) ... end,
-- },
-- },
commands = {} -- Add a custom command or override a global one using the same function name
},
-- buffers = {
-- follow_current_file = {
-- enabled = true, -- This will find and focus the file in the active buffer every time
-- -- -- the current file is changed while the tree is open.
-- leave_dirs_open = false, -- `false` closes auto expanded dirs, such as with `:Neotree reveal`
-- },
-- group_empty_dirs = true, -- when true, empty folders will be grouped together
-- show_unloaded = true,
-- window = {
-- mappings = {
-- ["bd"] = "buffer_delete",
-- ["<bs>"] = "navigate_up",
-- ["."] = "set_root",
-- ["o"] = { "show_help", nowait = false, config = { title = "Order by", prefix_key = "o" } },
-- ["oc"] = { "order_by_created", nowait = false },
-- ["od"] = { "order_by_diagnostics", nowait = false },
-- ["om"] = { "order_by_modified", nowait = false },
-- ["on"] = { "order_by_name", nowait = false },
-- ["os"] = { "order_by_size", nowait = false },
-- ["ot"] = { "order_by_type", nowait = false },
-- }
-- },
-- },
git_status = {
window = {
position = "float",
mappings = {
["A"] = "git_add_all",
["gu"] = "git_unstage_file",
["ga"] = "git_add_file",
["gr"] = "git_revert_file",
["gc"] = "git_commit",
["gp"] = "git_push",
["gg"] = "git_commit_and_push",
["o"] = { "show_help", nowait = false, config = { title = "Order by", prefix_key = "o" } },
["oc"] = { "order_by_created", nowait = false },
["od"] = { "order_by_diagnostics", nowait = false },
["om"] = { "order_by_modified", nowait = false },
["on"] = { "order_by_name", nowait = false },
["os"] = { "order_by_size", nowait = false },
["ot"] = { "order_by_type", nowait = false },
}
}
}
})

View File

@ -1,12 +0,0 @@
local builtin = require('telescope.builtin')
vim.keymap.set('n', '<leader>ff', builtin.find_files, {})
vim.keymap.set('n', '<leader>fg', builtin.live_grep, {})
vim.keymap.set('n', '<leader>fb', builtin.buffers, {})
-- vim.keymap.set('n', '<Tab>', builtin.buffers, {})
vim.keymap.set('n', '<leader>fh', builtin.help_tags, {})
vim.keymap.set('n', '<leader>gb', builtin.git_branches, {})
vim.keymap.set('n', '<leader>gc', builtin.git_commits, {})
vim.keymap.set('n', '<leader>gs', builtin.git_status, {})
vim.keymap.set('n', '<leader>ls', builtin.lsp_document_symbols, {})
vim.keymap.set('n', 'gr', builtin.lsp_references, {noremap = true, silent = true})
vim.keymap.set('n', 'gd', builtin.lsp_definitions, {noremap = true, silent = true})

View File

@ -1,41 +0,0 @@
require 'nvim-treesitter.configs'.setup {
-- A list of parser names, or "all" (the five listed parsers should always be installed)
-- ensure_installed = {"vim", "lua", "go", "bash", "diff", "css", "dockerfile", "git_config", "git_rebase", "git_attributes", "gitcommit", "gitignore", "gomod"},
ensure_installed = "all",
-- Install parsers synchronously (only applied to `ensure_installed`)
sync_install = false,
-- Automatically install missing parsers when entering buffer
-- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally
auto_install = true,
-- List of parsers to ignore installing (or "all")
-- ignore_install = { "javascript" },
---- If you need to change the installation directory of the parsers (see -> Advanced Setup)
-- parser_install_dir = "/some/path/to/store/parsers", -- Rem ember to run vim.opt.runtimepath:append("/some/path/to/store/parsers")!
highlight = {
enable = true,
-- NOTE: these are the names of the parsers and not the filetype. (for example if you want to
-- disable highlighting for the `tex` filetype, you need to include `latex` in this list as this is
-- the name of the parser)
-- list of language that will be disabled
-- disable = { "c", "rust" },
-- Or use a function for more flexibility, e.g. to disable slow treesitter highlight for large files
-- disable = function(lang, buf)
-- local max_filesize = 100 * 1024 -- 100 KB
-- local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
-- if ok and stats and stats.size > max_filesize then
-- return true
-- end
-- end,
-- Setting this to true will run `:h syntax` and tree-sitter at the same time.
-- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
-- Using this option may slow down your editor, and you may see some duplicate highlights.
-- Instead of true it can also be a list of languages
-- additional_vim_regex_highlighting = false,
},
}

83
helpers
View File

@ -4,41 +4,6 @@ installed() {
command -v "$1" >/dev/null 2>&1 command -v "$1" >/dev/null 2>&1
} }
installed2() {
dpkg --list | grep -qw "ii $1"
}
apt_install() {
sudo apt install -y --autoremove "$*"
}
require() {
sw=()
for package in "$@"; do
if ! installed "$package" && ! installed2 "$package"; then
sw+=("$package")
fi
done
if [ ${#sw[@]} -gt 0 ]; then
info "This packages will be installed in your system:\n${sw[*]}"
#TODO use local install script if possible
apt_install "${sw[*]}"
[ $? -gt 0 ] && die "installation cancelled" 201
fi
}
require2() {
sw=()
for package in "$@"; do
if ! installed "$package" && ! installed2 "$package"; then
sw+=("$package")
fi
done
if [ ${#sw[@]} -gt 0 ]; then
die "This packages must be installed in your system:\n${sw[*]}" 200
fi
}
title() { title() {
[ "$1" ] && title="$1" || title="$(grep -m 1 -oP "(?<=^##makedesc:\s).*$" ${BASH_SOURCE[1]})" [ "$1" ] && title="$1" || title="$(grep -m 1 -oP "(?<=^##makedesc:\s).*$" ${BASH_SOURCE[1]})"
info info
@ -48,30 +13,23 @@ title() {
info info
} }
unpak_targz() { require() {
require tar if ! installed "$1"; then
tar -xzf "$1" -C "$2" if [ "$2" ]; then
} die "'$1' must to be installed in your system" 200
else
symlink() { info "Installing '$1' because it is required to continue"
ln -sf "$1" "$2" sudo apt install "$1"
[ $? -gt 0 ] && die "installation cancelled" 201
fi
fi
} }
download() { download() {
require wget require wget 1
wget "$1" -O "$2" wget "$1" -O "$2"
} }
clone() {
require git
git clone $*
}
clone_quick() {
require git
git clone $* --depth=1 --single-branch
}
abspath() { abspath() {
echo $(realpath -q "${1/#\~/$HOME}") echo $(realpath -q "${1/#\~/$HOME}")
} }
@ -168,12 +126,13 @@ print() {
debug() { debug() {
if [ "$2" ]; then if [ "$2" ]; then
print "${DIM}${BOLD}${RESET}${DIM}${FUNCNAME[1]:-?}():${BASH_LINENO:-?}\t$1 " print "${DIM}${BOLD}${RESET}${DIM} ${FUNCNAME[1]:-?}():${BASH_LINENO:-?}\t$1 "
else else
print "${DIM}${BOLD}${RESET}${DIM}$1 " print "${DIM}${BOLD}${RESET}${DIM}$1 "
fi fi
} }
verbose() { verbose() {
print "${BOLD}${IVRB}${RESET}${FYELLOW} $1 " print "${BOLD}${IVRB}${RESET}${FYELLOW} $1 "
} }
@ -196,6 +155,7 @@ warn() {
error() { error() {
print "${BOLD}${BLRED}${FWHITE}${IERROR} Error: ${BRESET}${FLRED} $1 " >&2 print "${BOLD}${BLRED}${FWHITE}${IERROR} Error: ${BRESET}${FLRED} $1 " >&2
# print_stacktrace
} }
fatal() { fatal() {
@ -204,8 +164,19 @@ fatal() {
} }
die() { die() {
error "${1:-halted}" error "$1"
exit ${2:-100} [ "$2" ] && exit $2 || exit 100
}
die_fatal() {
fatal "$1"
[ "$2" ] && exit $2 || exit 100
}
die_help() {
error "$1"
[ "$2" ] && is_function "$2".help && $2.help
[ "$3" ] && exit $3 || exit 100
} }
print_stacktrace() { print_stacktrace() {

View File

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
##makedesc: Install apache2 (latest) ##makedesc: Install apache2 (latest)
source `dirname $0`/../helpers || exit 255 [ -f `dirname $0`/../helpers ] && source `dirname $0`/../helpers || exit 255
title title

View File

@ -1,59 +1,62 @@
#!/bin/bash #!/bin/bash
##makedesc: Install software from apt ##makedesc: Install bunch of software from apt
source `dirname $0`/../helpers || exit 255
title echo
echo "==============================================="
echo "Installing software from apt..."
echo "==============================================="
echo
sudo apt update && \ sudo apt update && \
sudo apt upgrade -y --autoremove && \ sudo apt upgrade -y --autoremove
sudo apt install -y \
alien \ sudo apt install -y \
apt-transport-https \ alien \
build-essential \ apt-transport-https \
ca-certificates \ build-essential \
cmake \ ca-certificates \
curl \ cmake \
dconf-editor \ curl \
default-jdk \ dconf-editor \
dialog \ default-jdk \
gettext \ dialog \
gnupg \ gettext \
gparted \ gnupg \
hardinfo \ gparted \
htop \ hardinfo \
libaio1 \ htop \
libcurl4-gnutls-dev \ libaio1 \
libexpat1-dev \ libcurl4-gnutls-dev \
libghc-zlib-dev \ libexpat1-dev \
libssl-dev \ libghc-zlib-dev \
lsb-release \ libssl-dev \
lsp-plugins \ lsb-release \
make \ lsp-plugins \
mc \ make \
meld \ mc \
nano \ meld \
neofetch \ nano \
net-tools \ neofetch \
nmap \ net-tools \
p7zip-full \ nmap \
pulseeffects \ p7zip-full \
software-properties-common \ pulseeffects \
terminator \ software-properties-common \
ubuntu-restricted-extras \ terminator \
unzip \ ubuntu-restricted-extras \
vlc \ unzip \
ffmpeg \ vlc \
xclip \ ffmpeg \
inotify-tools \ xclip \
notify-osd \ inotify-tools \
fonts-open-sans \ notify-osd \
libnotify-bin \ fonts-open-sans \
tree \ libnotify-bin
earlyoom # sqlitebrowser
# sqlitebrowser # earlyoom \
# etckeeper \ # etckeeper \
# geoclue-2.0 \ # geoclue-2.0 \
# gnome-software \ # gnome-software \
# minder \ # minder \
# redshift \ # redshift \
# redshift-gtk # redshift-gtk

View File

@ -1,17 +1,11 @@
#!/bin/bash #!/bin/bash
##makedesc: Install Canon Pixma MG2500 + ppa ##makedesc: Install Canon Pixma MG2500 + ppa
source `dirname $0`/../helpers || exit 255
title echo
echo "==============================================="
echo "Installing Canon Pixma MG2500 + ppa..."
echo "==============================================="
echo
sudo add-apt-repository -y ppa:thierry-f/fork-michael-gruz && \ sudo add-apt-repository -y ppa:thierry-f/fork-michael-gruz
sudo apt install -y \ sudo apt install -y cnijfilter-mg2500series scangearmp-mg2500series
cnijfilter-mg2500series \
scangearmp-mg2500series
[ $? = 0 ] && {
echo
success "Canon Pixma MG2500 installed!"
info "Now you must add a new printer in your system."
echo
}

View File

@ -1,20 +1,14 @@
#!/bin/bash #!/bin/bash
##makedesc: Install google chrome (latest) ##makedesc: Install google chrome (latest)
source `dirname $0`/../helpers || exit 255
echo
echo "==============================================="
echo "Installing google chrome (latest)..."
echo "==============================================="
echo
# https://t.me/axenov_blog/251 # https://t.me/axenov_blog/251
title wget "https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb" -O /tmp/google-chrome-stable_current_amd64.deb && \
sudo dpkg -i /tmp/google-chrome-stable_current_amd64.deb && \
mkdir -p "$HOME/install" rm /tmp/google-chrome-stable_current_amd64.deb
download "https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb" \
"$HOME/install/google-chrome.deb" && \
sudo dpkg -i "$HOME/install/google-chrome.deb"
[ $? = 0 ] && {
echo
success "Google Chrome installed!"
google-chrome --version
echo
}

View File

@ -1,41 +1,56 @@
#!/bin/bash #!/bin/bash
##makedesc: Install composer (latest) ##makedesc: Install composer (latest)
source `dirname $0`/../helpers || exit 255 echo
echo "==============================================="
echo "Installing composer (latest)..."
echo "==============================================="
echo
# https://getcomposer.org/doc/faqs/how-to-install-composer-programmatically.md # https://getcomposer.org/doc/faqs/how-to-install-composer-programmatically.md
title installed() {
command -v "$1" >/dev/null 2>&1
require php
if installed "composer"; then
warn "WARNING: Removing current composer to install its actual version"
sudo apt remove -y --autoremove composer
sudo rm -f \
"$HOME/.local/bin/composer" \
/bin/composer \
/usr/bin/composer \
/usr/local/bin/composer \
/usr/src/composer \
"$HOME/.local/bin/composer"
fi
mkdir -p "$HOME/install" "$HOME/.local/bin"
download "https://getcomposer.org/installer" "$HOME/install/composer-setup.php" && \
php "$HOME/install/composer-setup.php" --install-dir="$HOME/.local/bin/composer"
[ $? = 0 ] && {
COMPOSER_GLOBAL_HOME="$($HOME/.local/bin/composer config -g home)"
NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\""
cat "$HOME/.profile" | grep -qoh "$NEWPATH" || {
$NEWPATH
echo "$NEWPATH" >> "$HOME/.profile"
}
echo
success "composer installed!"
composer --version
echo
} }
source "$HOME/.profile" ! installed "php" && echo "WARNING: You need php to be installed"
if installed "composer"; then
echo "WARNING: Removing current composer to install its actual version"
sudo apt remove -y --autoremove composer
sudo rm -f $HOME/.local/bin/composer
sudo rm -f /bin/composer
sudo rm -f /usr/bin/composer
sudo rm -f /usr/local/bin/composer
sudo rm -f /usr/src/composer
rm $HOME/.local/bin/composer
fi
mkdir -p $HOME/install $HOME/.local/bin
cd $HOME/install
EXPECTED_CHECKSUM="$(php -r 'copy("https://composer.github.io/installer.sig", "php://stdout");')"
# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
wget https://getcomposer.org/installer -O composer-setup.php
ACTUAL_CHECKSUM="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"
if [ "$EXPECTED_CHECKSUM" != "$ACTUAL_CHECKSUM" ]; then
>&2 echo 'ERROR: Invalid installer checksum'
rm composer-setup.php
exit 1
fi
php composer-setup.php --quiet
mv -f $HOME/install/composer.phar $HOME/.local/bin/composer
cd - >/dev/null
COMPOSER_GLOBAL_HOME="$($HOME/.local/bin/composer config -g home)"
NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\""
cat "${HOME}/.profile" | grep -qoh "$NEWPATH" || {
$NEWPATH
echo "$NEWPATH" >> "${HOME}/.profile"
}
source "${HOME}/.profile"
echo
echo "Finish!"
composer --version
echo

View File

@ -1,35 +1,43 @@
#!/bin/bash #!/bin/bash
##makedesc: Install docker (latest) + docker-compose (latest) + ppa ##makedesc: Install docker (latest) + docker-compose (latest) + ppa
source `dirname $0`/../helpers || exit 255
echo
echo "==============================================="
echo "Installing docker (latest)..."
echo "==============================================="
echo
# https://docs.docker.com/engine/install/ubuntu/ # https://docs.docker.com/engine/install/ubuntu/
title sudo apt install -y \
ca-certificates \
require ca-certificates curl \
require curl gnupg \
require gnupg lsb-release
require lsb-release
sudo mkdir -p /etc/apt/keyrings sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg \ curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
| sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg && \ | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg && \
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null && \
sudo apt update && \
sudo apt install -y --autoremove \
docker-ce \
docker-ce-cli \
containerd.io \
docker-compose-plugin && \
sudo usermod -aG docker $(whoami)
[ $? = 0 ] && { sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo
success "Docker installed!" echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" \
info "Probably, you need to relogin to apply 'docker' group." | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
info "Your ones currently are: $(groups)"
docker --version sudo apt update
echo sudo apt install -y --autoremove \
} docker-ce \
docker-ce-cli \
containerd.io \
docker-compose-plugin
sudo usermod -aG docker $(whoami)
sudo cp ../dotfiles/etc/docker/daemon.json /etc/docker/daemon.json
echo
echo "Finish!"
docker --version
echo "Probably, you need to relogin to apply 'docker' group."
echo "Your ones currently are: $(groups)"
echo

View File

@ -1,22 +1,25 @@
#!/bin/bash #!/bin/bash
##makedesc: Install dotfiles ##makedesc: Install dotfiles
source `dirname $0`/../helpers || exit 255
title echo
echo "==============================================="
echo "Installing dotfiles..."
echo "==============================================="
echo
install_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" install_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
dotfiles_src_dir="`dirname $install_dir`/dotfiles" dotfiles_src_dir="`dirname $install_dir`/dotfiles"
postfix=".bak-`date '+%Y%m%d%H%M'`" postfix=".bak-`date '+%Y%m%d%H%M'`"
install_dotfile() { install() {
mv "$HOME/$1" "$HOME/$1$postfix" echo "mv "$HOME/$1" "$HOME/$1$postfix""
cp "$dotfiles_src_dir/$1" "$HOME/$1" echo "cp "$dotfiles_src_dir/$1" "$HOME/$1""
success "- $1" echo "- $1"
} }
install_dotfile ".bash_aliases" && \ install .bash_aliases
install_dotfile ".profile" && \ install .profile
install_dotfile ".bashrc" && \ install .bashrc
install_dotfile ".gitconfig" && \ install .gitconfig
install_dotfile ".gitignore" && \ install .gitignore
install_dotfile ".git_aliases" install .git_aliases

View File

@ -1,22 +1,21 @@
#!/bin/bash #!/bin/bash
##makedesc: Install droidcam v1.9.0 ##makedesc: Install droidcam v1.8.2
source `dirname $0`/../helpers || exit 255
# https://www.dev47apps.com/droidcam/linux/ # https://www.dev47apps.com/droidcam/linux/
title echo
echo "==============================================="
echo "Installing droidcam v1.8.2..."
echo "==============================================="
echo
mkdir -p "$HOME/install/droidcam" mkdir -p ~/install/droidcam
wget -O /tmp/droidcam.zip https://files.dev47apps.net/linux/droidcam_1.8.2.zip
unzip -oq /tmp/droidcam.zip -d ~/install/droidcam
rm -rf /tmp/droidcam.zip
cd ~/install/droidcam && sudo ./install-client
download "https://files.dev47apps.net/linux/droidcam_1.9.0.zip" "$HOME/install/droidcam.zip" && \ echo
unzip -oq "$HOME/install/droidcam.zip" -d "$HOME/install/droidcam" && \ echo "Finish!"
cd "$HOME/install/droidcam" && \ echo "Don't forget to install android app: https://play.google.com/store/apps/developer?id=Dev47Apps"
sudo ./install-client echo
[ $? = 0 ] && {
echo
success "droidcam installed!"
info "Don't forget to install the android app:"
info "https://play.google.com/store/apps/developer?id=Dev47Apps"
echo
}

View File

@ -15,11 +15,11 @@ echo
# command -v "obs" >/dev/null 2>&1 || echo 'You need to install obs first!' # command -v "obs" >/dev/null 2>&1 || echo 'You need to install obs first!'
command -v "obs-studio" >/dev/null 2>&1 || echo 'You need to install obs-studio first!' command -v "obs-studio" >/dev/null 2>&1 || echo 'You need to install obs-studio first!'
mkdir -p $HOMEinstall/droidcam-obs mkdir -p ~/install/droidcam-obs
wget -O /tmp/droidcam-obs.zip https://files.dev47apps.net/obs/droidcam_obs_1.5.1_linux.zip wget -O /tmp/droidcam-obs.zip https://files.dev47apps.net/obs/droidcam_obs_1.5.1_linux.zip
unzip -oq /tmp/droidcam-obs.zip -d $HOMEinstall/droidcam-obs unzip -oq /tmp/droidcam-obs.zip -d ~/install/droidcam-obs
rm -rf /tmp/droidcam-obs.zip rm -rf /tmp/droidcam-obs.zip
cd $HOMEinstall/droidcam-obs && ./install.sh cd ~/install/droidcam-obs && ./install.sh
sudo modprobe v4l2loopback video_nr=2 card_label="OBS Virtual Camera" sudo modprobe v4l2loopback video_nr=2 card_label="OBS Virtual Camera"
echo echo

View File

@ -1,15 +0,0 @@
#!/bin/bash
##makedesc: Install flameshot (latest)
source `dirname $0`/../helpers || exit 255
title
sudo apt install -y --autoremove flameshot && \
sudo systemctl restart flameshot
[ $? = 0 ] && {
echo
success "flameshot installed!"
flameshot -v
echo
}

View File

@ -0,0 +1,8 @@
#!/bin/bash
##makedesc: [TODO] Build flameshot from src (latest)
echo
echo "==============================================="
echo "Installing flameshot (latest)..."
echo "==============================================="
echo

View File

@ -1,38 +1,43 @@
#!/bin/bash #!/bin/bash
##makedesc: Install git (latest) ##makedesc: Install git (latest)
source `dirname $0`/../helpers || exit 255
title echo
echo "==============================================="
echo "Installing git (latest)..."
echo "==============================================="
echo
require make installed() {
command -v "$1" >/dev/null 2>&1
}
! installed make && sudo apt install -y make
if installed git; then if installed git; then
if [ -d "$HOME/install/git" ]; then if [ -d "${HOME}/install/git" ]; then
cd "$HOME/install/git" && \ cd "${HOME}/install/git" && \
git pull git pull
else else
clone "https://github.com/git/git.git" "$HOME/install/git" --depth=1 --single-branch && \ git clone https://github.com/git/git.git --depth=1 "${HOME}/install/git" && \
cd "$HOME/install/git" cd "${HOME}/install/git"
fi fi
sudo make prefix=/usr/local all && \ sudo make prefix=/usr/local all && \
sudo make prefix=/usr/local install sudo make prefix=/usr/local install
else else
require wget ! installed wget && sudo apt install -y wget
mkdir -p "$HOME/install/git" [ -d "${HOME}/install/git" ] || mkdir -p "${HOME}/install/git"
download "https://github.com/git/git/archive/master.zip" "/tmp/git.zip" && \ wget https://github.com/git/git/archive/master.zip -O /tmp/git.zip && \
unzip -oq "/tmp/git.zip" -d "$HOME/install/git" && \ unzip -oq /tmp/git.zip -d "${HOME}/install/git" && \
rm /tmp/git.zip && \ rm /tmp/git.zip && \
cd "$HOME/install/git/git-master" && \ cd "${HOME}/install/git/git-master" && \
sudo make prefix=/usr/local all && \ sudo make prefix=/usr/local all && \
sudo make prefix=/usr/local install && \ sudo make prefix=/usr/local install && \
cd - && \ cd - && \
rm -rf git && \ rm -rf git && \
clone "https://github.com/git/git.git" "$HOME/install/git" --depth=1 --single-branch git clone https://github.com/git/git.git --depth=1 "${HOME}/install/git"
fi fi
[ $? = 0 ] && { echo
echo echo "Finish!"
success "git installed!" git --version
git --version echo
echo
}

View File

@ -1,28 +1,30 @@
#!/bin/bash #!/bin/bash
##makedesc: Install golang v1.21.0 ##makedesc: Install golang v1.18.3
source `dirname $0`/../helpers || exit 255
# https://go.dev/dl/ # https://go.dev/dl/
# https://golang.org/doc/install # https://golang.org/doc/install
# https://www.vultr.com/docs/install-the-latest-version-of-golang-on-ubuntu # https://www.vultr.com/docs/install-the-latest-version-of-golang-on-ubuntu
[ $1 ] && VERSION="$1" || VERSION="1.21.6"
title "Installing golang v$VERSION..."
[ $1 ] && VERSION="$1" || VERSION="1.18.3"
FILE="go$VERSION.linux-amd64.tar.gz" FILE="go$VERSION.linux-amd64.tar.gz"
sudo rm -rf /usr/local/go && \
download "https://golang.org/dl/$FILE" "/tmp/$FILE" && \
sudo tar -xzf "/tmp/$FILE" -C /usr/local && \
rm -rf "/tmp/$FILE" && \
sudo chown $USER: -R /usr/local/go && \
echo 'export PATH="/usr/local/go/bin:$PATH"' >> "$HOME/.profile" && \
echo "export GOPATH=\"\$HOME/.go\"" >> "$HOME/.profile" && \
source ~/.profile
[ $? = 0 ] && { echo
echo echo "==============================================="
success "golang installed!" echo "Installing golang v$VERSION..."
info "NOTE: now run 'source ~/.profile' to apply new env vars" echo "==============================================="
go version echo
echo
} sudo rm -rf /usr/local/go && \
wget "https://golang.org/dl/$FILE" -O /tmp/$FILE && \
sudo tar -xzf /tmp/$FILE -C /usr/local && \
rm -rf /tmp/$FILE && \
sudo chown $USER: -R /usr/local/go && \
echo 'export PATH="$PATH:/usr/local/go/bin\"' >> $HOME/.profile && \
echo 'export GOPATH="$HOME/.go"' >> $HOME/.profile
echo
echo "Finish!"
go version
echo "NOTE: now run 'source ~/.profile' to apply new env vars"
echo

View File

@ -1,15 +0,0 @@
#!/bin/bash
##makedesc: Install grub-customizer (latest + ppa)
source `dirname $0`/../helpers || exit 255
title
sudo add-apt-repository -y ppa:danielrichter2007/grub-customizer && \
sudo apt install -y --autoremove grub-customizer
[ $? = 0 ] && {
echo
success "grub-customizer installed!"
grub-customizer -v
echo
}

11
install/grubc 100755
View File

@ -0,0 +1,11 @@
#!/bin/bash
##makedesc: Install grub-customizer (latest) + ppa
echo
echo "==============================================="
echo "Installing grub-customizer (latest)..."
echo "==============================================="
echo
sudo add-apt-repository -y ppa:danielrichter2007/grub-customizer
sudo apt install -y --autoremove grub-customizer

View File

@ -1,14 +1,14 @@
#!/bin/bash #!/bin/bash
##makedesc: Install JetBrains Mono fonts ##makedesc: Install JetBrains Mono fonts
source `dirname $0`/../helpers || exit 255 [ -f `dirname $0`/../helpers ] && source `dirname $0`/../helpers || exit 255
# https://www.jetbrains.com/lp/mono/#how-to-install # https://www.jetbrains.com/lp/mono/#how-to-install
title title
require unzip require unzip
mkdir -p "$HOME/install/jbmono" "$HOME/.local/share/fonts/" mkdir -p "$HOME/install/jbmono" "$HOME/.local/share/fonts/"
download "https://download.jetbrains.com/fonts/JetBrainsMono-2.304.zip" "$HOME/install/jbmono.zip" && \ download "https://download.jetbrains.com/fonts/JetBrainsMono-2.304.zip" "$HOME/install/jbmono.zip" && \
unzip -oj "$HOME/install/jbmono.zip" "fonts/ttf/*.ttf" -d "$HOME/.local/share/fonts/" && \ unzip -oj "$HOME/install/jbmono.zip" "fonts/ttf/*.ttf" -d "$HOME/.local/share/fonts/" && \
fc-cache -vf "$HOME/.local/share/fonts/" fc-cache -vf "$HOME/.local/share/fonts/"

View File

@ -1,9 +1,14 @@
#!/bin/bash #!/bin/bash
##makedesc: Install KDE Backports ##makedesc: Install KDE Backports
source `dirname $0`/../helpers || exit 255
title echo
echo "==============================================="
echo "Installing KDE Backports..."
echo "==============================================="
echo
sudo add-apt-repository -y ppa:kubuntu-ppa/backports && \ sudo add-apt-repository -y ppa:kubuntu-ppa/backports
sudo apt update && \ # sudo add-apt-repository -y ppa:kubuntu-ppa/backports-extra
sudo apt full-upgrade sudo apt update
# sudo pkcon update
sudo apt full-upgrade

View File

@ -1,53 +0,0 @@
#!/bin/bash
##makedesc: Install neovim (latest)
source `dirname $0`/../helpers || exit 255
# https://github.com/neovim/neovim/blob/master/INSTALL.md#linux
# https://github.com/folke/lazy.nvim/blob/main/README.md#-installation
# https://raw.githubusercontent.com/neovim/neovim/master/runtime/nvim.desktop
title
require git wget tar grep
[ -d "$HOME/.config/nvim" ] && mv -f "$HOME/.config/nvim" $HOME/.config/nvim.bak
mkdir -p $HOME/install $HOME/.config/nvim/lua/{core,plugins}
tee <<EOF "$HOME/.config/nvim/init.lua" > /dev/null
-- plugins
require('core.plugins')
EOF
tee <<EOF "$HOME/.config/nvim/lua/core/plugins.lua" > /dev/null
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
vim.fn.system({
"git",
"clone",
"--filter=blob:none",
"https://github.com/folke/lazy.nvim.git",
"--branch=stable", -- latest stable release
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
-- install plugins
require("lazy").setup({
{ 'phaazon/hop.nvim' }
})
EOF
download https://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gz "$HOME/install/nvim.tar.gz" && \
sudo rm -rf /opt/nvim && \
sudo tar -zxf "$HOME/install/nvim.tar.gz" -C /opt
NEWPATH="export PATH=\"/opt/nvim-linux64/bin:\$PATH\""
cat "$HOME/.profile" | grep -qoh "$NEWPATH" || {
$NEWPATH
echo "$NEWPATH" >> "$HOME/.profile"
}
echo
success "NeoVim installed!"
echo

View File

@ -1,31 +1,37 @@
#!/bin/bash #!/bin/bash
##makedesc: Install openvpn v2.6.3 (src) ##makedesc: Install openvpn v2.5.8 (src)
source `dirname $0`/../helpers || exit 255
# https://openvpn.net/community-downloads/ # https://openvpn.net/community-downloads/
# https://openvpn.net/community-resources/installing-openvpn/ # https://openvpn.net/community-resources/installing-openvpn/
[ "$1" ] && OVPNVER="$1" || OVPNVER='2.6.3' [ $1 ] && OVPNVER="$1" || OVPNVER='2.5.8'
title "Installing openvpn v${OVPNVER} (src)..." echo
echo "==============================================="
echo "Installing openvpn v${OVPNVER} (src)..."
echo "==============================================="
echo
require libssl-dev \ set -ex
sudo apt install -y \
libssl-dev \
liblzo2-dev \ liblzo2-dev \
libpam0g-dev libpam0g-dev
mkdir -p "$HOME/install/" mkdir -p "${HOME}/install/"
download "https://swupdate.openvpn.org/community/releases/openvpn-${OVPNVER}.tar.gz" "$HOME/install/openvpn-${OVPNVER}.tar.gz" && \ wget "https://swupdate.openvpn.org/community/releases/openvpn-${OVPNVER}.tar.gz" \
unpak_targz "$HOME/install/openvpn-${OVPNVER}.tar.gz" "$HOME/install/" && \ -O "/tmp/openvpn-${OVPNVER}.tar.gz"
cd "$HOME/install/openvpn-${OVPNVER}" && \ tar -xzf "/tmp/openvpn-${OVPNVER}.tar.gz" -C "${HOME}/install/"
sudo ./configure && \ cd "${HOME}/install/openvpn-${OVPNVER}"
sudo ./configure && \
sudo make && \ sudo make && \
sudo make install && sudo make install &&
apt_install network-manager-openvpn \ sudo apt install -y \
network-manager-openvpn \
network-manager-openvpn-gnome network-manager-openvpn-gnome
[ $? = 0 ] && { echo
echo echo "Finish!"
success "openvpn installed!" openvpn --version
openvpn --version echo
echo
}

View File

@ -1,27 +1,34 @@
#!/bin/bash #!/bin/bash
##makedesc: Install papirus-icon-theme (latest) ##makedesc: Install papirus-icon-theme (latest)
source `dirname $0`/../helpers || exit 255
title echo
echo "==============================================="
echo "Installing papirus-icon-theme (latest)..."
echo "==============================================="
echo
mkdir -p "$HOME/install/papirus-icon-theme" "$HOME/.local/share/icons/" installed() {
command -v "$1" >/dev/null 2>&1
if installed git; then
clone_quick https://github.com/PapirusDevelopmentTeam/papirus-icon-theme.git "$HOME/install/"
else
download https://github.com/PapirusDevelopmentTeam/papirus-icon-theme/archive/refs/heads/master.zip -O "$HOME/install/papirus-icon-theme.zip" && \
unzip -oq "$HOME/install/papirus-icon-theme.zip" -d "$HOME/install/papirus-icon-theme" && \
rm -f "$HOME/install/papirus-icon-theme.zip"
fi
symlink "$HOME/install/papirus-icon-theme/Papirus" "$HOME/.local/share/icons/Papirus" && \
symlink "$HOME/install/papirus-icon-theme/Papirus-Dark" "$HOME/.local/share/icons/Papirus-Dark" && \
symlink "$HOME/install/papirus-icon-theme/Papirus-Light" "$HOME/.local/share/icons/Papirus-Light"
[ $? = 0 ] && {
echo
success "Papirus icons installed!"
info "You can find them in $HOME/.local/share/icons/"
echo
} }
if installed git; then
mkdir -p "${HOME}/install/"
git clone https://github.com/PapirusDevelopmentTeam/papirus-icon-theme.git "${HOME}/install/papirus-icon-theme" --depth=1 --single-branch
else
! installed wget && sudo apt install -y wget
mkdir -p "${HOME}/install/papirus-icon-theme"
wget https://github.com/PapirusDevelopmentTeam/papirus-icon-theme/archive/refs/heads/master.zip -O "${HOME}/install/papirus-icon-theme.zip"
unzip -oq "${HOME}/install/papirus-icon-theme.zip" -d "${HOME}/install/papirus-icon-theme"
rm -f "${HOME}/install/papirus-icon-theme.zip"
fi
mkdir -p "${HOME}/.local/share/icons/"
ln -sf "${HOME}/install/papirus-icon-theme/Papirus" "${HOME}/.local/share/icons/Papirus"
ln -sf "${HOME}/install/papirus-icon-theme/Papirus-Dark" "${HOME}/.local/share/icons/Papirus-Dark"
ln -sf "${HOME}/install/papirus-icon-theme/Papirus-Light" "${HOME}/.local/share/icons/Papirus-Light"
echo
echo "Finish! Don't forget to change current icon theme."
echo "You can find them here:"
echo -e "\t${HOME}/.local/share/icons/"
echo

View File

@ -1,14 +1,16 @@
#!/bin/bash #!/bin/bash
##makedesc: Install postgresql (latest) and php-pgsql (if php is installed) ##makedesc: Install postgresql (latest) and php-pgsql (if php is installed)
source `dirname $0`/../helpers || exit 255
title echo
echo "==============================================="
echo "Installing postgresql (latest)..."
echo "==============================================="
echo
require postgresql postgresql-contrib && \ installed() {
sudo service postgresql restart && \ command -v "$1" >/dev/null 2>&1
{ }
echo
success "openvpn installed!" sudo apt install -y --autoremove postgresql postgresql-contrib
postgres --version sudo service postgresql restart
echo installed 'php' && sudo apt install -y --autoremove php-pgsql
}

View File

@ -16,11 +16,11 @@ installed() {
COMPOSER_GLOBAL_HOME="$(composer config -g home)" COMPOSER_GLOBAL_HOME="$(composer config -g home)"
NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\"" NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\""
cat "$HOME/.profile" | grep -qoh "$NEWPATH" || { cat "${HOME}/.profile" | grep -qoh "$NEWPATH" || {
$NEWPATH $NEWPATH
echo "$NEWPATH" >> "$HOME/.profile" echo "$NEWPATH" >> "${HOME}/.profile"
} }
source "$HOME/.profile" source "${HOME}/.profile"
composer global require vimeo/psalm --dev composer global require vimeo/psalm --dev

View File

@ -16,11 +16,11 @@ installed() {
! installed 'make' && sudo apt install -y make ! installed 'make' && sudo apt install -y make
! installed 'wget' && sudo apt install -y wget ! installed 'wget' && sudo apt install -y wget
[ -d "$HOME/install/php-spx" ] || mkdir -p "$HOME/install/php-spx" [ -d "${HOME}/install/php-spx" ] || mkdir -p "${HOME}/install/php-spx"
wget https://github.com/NoiseByNorthwest/php-spx/archive/refs/heads/release/latest.zip -O /tmp/php-spx.zip \ wget https://github.com/NoiseByNorthwest/php-spx/archive/refs/heads/release/latest.zip -O /tmp/php-spx.zip \
&& unzip -oq /tmp/php-spx.zip -d "$HOME/install/php-spx" \ && unzip -oq /tmp/php-spx.zip -d "${HOME}/install/php-spx" \
&& rm /tmp/php-spx.zip \ && rm /tmp/php-spx.zip \
&& cd "$HOME/install/php-spx/php-spx-release-latest" \ && cd "${HOME}/install/php-spx/php-spx-release-latest" \
&& phpize \ && phpize \
&& ./configure \ && ./configure \
&& make \ && make \

View File

@ -16,11 +16,11 @@ installed() {
COMPOSER_GLOBAL_HOME="$(composer config -g home)" COMPOSER_GLOBAL_HOME="$(composer config -g home)"
NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\"" NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\""
cat "$HOME/.profile" | grep -qoh "$NEWPATH" || { cat "${HOME}/.profile" | grep -qoh "$NEWPATH" || {
$NEWPATH $NEWPATH
echo "$NEWPATH" >> "$HOME/.profile" echo "$NEWPATH" >> "${HOME}/.profile"
} }
source "$HOME/.profile" source "${HOME}/.profile"
composer global require squizlabs/php_codesniffer --dev composer global require squizlabs/php_codesniffer --dev
composer global require friendsofphp/php-cs-fixer --dev composer global require friendsofphp/php-cs-fixer --dev

View File

@ -16,11 +16,11 @@ installed() {
COMPOSER_GLOBAL_HOME="$(composer config -g home)" COMPOSER_GLOBAL_HOME="$(composer config -g home)"
NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\"" NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\""
cat "$HOME/.profile" | grep -qoh "$NEWPATH" || { cat "${HOME}/.profile" | grep -qoh "$NEWPATH" || {
$NEWPATH $NEWPATH
echo "$NEWPATH" >> "$HOME/.profile" echo "$NEWPATH" >> "${HOME}/.profile"
} }
source "$HOME/.profile" source "${HOME}/.profile"
composer global require phpmd/phpmd --dev composer global require phpmd/phpmd --dev

View File

@ -16,11 +16,11 @@ installed() {
COMPOSER_GLOBAL_HOME="$(composer config -g home)" COMPOSER_GLOBAL_HOME="$(composer config -g home)"
NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\"" NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\""
cat "$HOME/.profile" | grep -qoh "$NEWPATH" || { cat "${HOME}/.profile" | grep -qoh "$NEWPATH" || {
$NEWPATH $NEWPATH
echo "$NEWPATH" >> "$HOME/.profile" echo "$NEWPATH" >> "${HOME}/.profile"
} }
source "$HOME/.profile" source "${HOME}/.profile"
composer global require phpstan/phpstan --dev composer global require phpstan/phpstan --dev

View File

@ -16,11 +16,11 @@ installed() {
COMPOSER_GLOBAL_HOME="$(composer config -g home)" COMPOSER_GLOBAL_HOME="$(composer config -g home)"
NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\"" NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\""
cat "$HOME/.profile" | grep -qoh "$NEWPATH" || { cat "${HOME}/.profile" | grep -qoh "$NEWPATH" || {
$NEWPATH $NEWPATH
echo "$NEWPATH" >> "$HOME/.profile" echo "$NEWPATH" >> "${HOME}/.profile"
} }
source "$HOME/.profile" source "${HOME}/.profile"
composer global require phpunit/phpunit --dev composer global require phpunit/phpunit --dev

View File

@ -1,33 +1,28 @@
#!/bin/bash #!/bin/bash
##makedesc: Install postman (latest) ##makedesc: Install postman (latest)
source `dirname $0`/../helpers || exit 255
# https://learning.postman.com/docs/getting-started/installation-and-updates/#installing-postman-on-linux echo
echo "==============================================="
echo "Installing postman (latest)..."
echo "==============================================="
echo
# set -ex mkdir -p ${HOME}/install/postman
mkdir -p ${HOME}/.local/bin
wget "https://dl.pstmn.io/download/latest/linux64" -O ${HOME}/install/postman.tar.gz && \
tar -xzf ${HOME}/install/postman.tar.gz -C ${HOME}/install/postman && \
ln -sf ${HOME}/install/postman/Postman/Postman ${HOME}/.local/bin/postman && \
mkdir -p "${HOME}/.local/share/applications" && \
cat << EOF > "${HOME}/.local/share/applications/Postman.desktop"
#!/usr/bin/env xdg-open
title
mkdir -p "$HOME/install" && \
"$HOME/.local/bin" && \
"$HOME/.local/share/applications"
download "https://dl.pstmn.io/download/latest/linux64" "$HOME/install/postman.tar.gz" && \
unpak_targz "$HOME/install/postman.tar.gz" "$HOME/install" && \
symlink "$HOME/install/Postman/Postman" "$HOME/.local/bin/postman" && \
cat << EOF > "$HOME/.local/share/applications/Postman.desktop" && sudo update-desktop-database
[Desktop Entry] [Desktop Entry]
Name=Postman Name=Postman
Exec=$HOME/.local/bin/postman %U Exec=${HOME}/.local/bin/postman
Icon=$HOME/install/Postman/app/icons/icon_128x128.png Icon=${HOME}/install/postman/Postman/app/icons/icon_128x128.png
Categories=Development,Network Categories=Utility,Network
Terminal=false Terminal=false
Type=Application Type=Application
Encoding=UTF-8 Encoding=UTF-8
EOF EOF
sudo update-desktop-database
[ $? = 0 ] && {
echo
success "Postman installed!"
echo
}

View File

@ -7,7 +7,7 @@ echo "Installing telegram (latest)..."
echo "===============================================" echo "==============================================="
echo echo
mkdir -p "$HOME/install" "$HOME/.local/bin" mkdir -p "${HOME}/install" "${HOME}/.local/bin"
wget "https://telegram.org/dl/desktop/linux" -O $HOME/install/telegram.tar.gz && \ wget "https://telegram.org/dl/desktop/linux" -O ${HOME}/install/telegram.tar.gz && \
tar -xJf $HOME/install/telegram.tar.gz -C $HOME/.local/bin tar -xJf ${HOME}/install/telegram.tar.gz -C ${HOME}/.local/bin
$HOME/.local/bin/Telegram/Telegram & disown > /dev/null ${HOME}/.local/bin/Telegram/Telegram & disown > /dev/null

View File

@ -1,7 +1,6 @@
#!/bin/bash #!/bin/bash
##makedesc: Install Vivaldi + ppa ##makedesc: Install Vivaldi + ppa
# https://repo.vivaldi.com
# https://help.vivaldi.com/desktop/#install-update # https://help.vivaldi.com/desktop/#install-update
# https://help.vivaldi.com/desktop/install-update/manual-setup-vivaldi-linux-repositories/ # https://help.vivaldi.com/desktop/install-update/manual-setup-vivaldi-linux-repositories/

View File

@ -12,8 +12,8 @@ echo
# 11.04.23: release 2021.12.17 in snap/apt/github is broken (Unable to extract uploader id) # 11.04.23: release 2021.12.17 in snap/apt/github is broken (Unable to extract uploader id)
# and still no fix officially released, so we just build it from actual sources # and still no fix officially released, so we just build it from actual sources
# curl -L https://yt-dl.org/downloads/latest/youtube-dl -o "$HOME/.local/bin/youtube-dl" && \ # curl -L https://yt-dl.org/downloads/latest/youtube-dl -o "${HOME}/.local/bin/youtube-dl" && \
# sudo chmod +rx "$HOME/.local/bin/youtube-dl" # sudo chmod +rx "${HOME}/.local/bin/youtube-dl"
installed() { installed() {
command -v "$1" >/dev/null 2>&1 command -v "$1" >/dev/null 2>&1

View File

@ -11,5 +11,5 @@ echo
install_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" install_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
tools_dir="`dirname $install_dir`/tools" tools_dir="`dirname $install_dir`/tools"
cp "${tools_dir}/ytdlcue.sh" "$HOME/.local/bin/ytdlcue" cp "${tools_dir}/ytdlcue.sh" "${HOME}/.local/bin/ytdlcue"
sudo chmod +rx "$HOME/.local/bin/ytdlcue" sudo chmod +rx "${HOME}/.local/bin/ytdlcue"

View File

@ -8,4 +8,4 @@ echo "==============================================="
echo echo
sudo apt install -y --autoremove zsh sudo apt install -y --autoremove zsh
echo "source ~/.profile" >> "$HOME/.zshrc" echo "source ~/.profile" >> ~/.zshrc

View File

@ -1,13 +0,0 @@
#!/bin/bash
# https://forums.opensuse.org/t/networkmanager-shows-connection-to-lo/164441/13
# https://man.archlinux.org/man/NetworkManager.conf.5.en#Device_List_Format
# https://access.redhat.com/documentation/ru-ru/red_hat_enterprise_linux/8/html/configuring_and_managing_networking/configuring-networkmanager-to-ignore-certain-devices_configuring-and-managing-networking
sudo touch /etc/NetworkManager/conf.d/10-ignore-veth.conf
sudo tee <<EOF /etc/NetworkManager/conf.d/10-ignore-veth.conf > /dev/null
# Disable virtual interfaces to be managed via NetworkManager
[keyfile]
unmanaged-devices=interface-name:veth*
EOF
sudo systemctl reload NetworkManager

View File

@ -1,13 +0,0 @@
#!/bin/bash
##makedesc: Uninstall apache2
source `dirname $0`/../helpers || exit 255
title
sudo apt remove -y --autoremove apache2
[ $? = 0 ] && {
echo
success "apache2 uninstalled!"
echo
}

View File

@ -1,19 +0,0 @@
#!/bin/bash
##makedesc: Uninstall grub-customizer with ppa
source `dirname $0`/../helpers || exit 255
title
source_file="/etc/apt/sources.list.d/$(ls -1 /etc/apt/sources.list.d/ | grep danielrichter2007)"
sudo apt remove -y --autoremove grub-customizer && \
[ -f "$source_file" ] && {
sudo rm "$source_file" && \
sudo apt update
}
[ $? = 0 ] && {
echo
success "grub-customizer uninstalled!"
echo
}

View File

@ -9,10 +9,10 @@ echo
set -x set -x
rm -rf \ rm -rf \
"$HOME/.local/bin/lite-xl" \ "${HOME}/.local/bin/lite-xl" \
"$HOME/.local/share/applications/org.lite_xl.lite_xl.desktop" \ "${HOME}/.local/share/applications/org.lite_xl.lite_xl.desktop" \
"$HOME/.local/share/lite-xl" \ "${HOME}/.local/share/lite-xl" \
"$HOME/.config/lite-xl" "${HOME}/.config/lite-xl"
sudo update-desktop-database && \ sudo update-desktop-database && \
xdg-desktop-menu forceupdate xdg-desktop-menu forceupdate