Compare commits
14 Commits
Author | SHA1 | Date |
---|---|---|
Anthony Axenov | 65df2d7094 | |
Anthony Axenov | f72d7d268e | |
Anthony Axenov | 4bc69c56ad | |
Anthony Axenov | 3004de7587 | |
Anthony Axenov | ea38ac7dd2 | |
Anthony Axenov | 25c64f39a4 | |
Anthony Axenov | 141fc6e8e3 | |
Anthony Axenov | f8f3210585 | |
Anthony Axenov | cde8906c35 | |
Anthony Axenov | ea5eadd44b | |
Anthony Axenov | 50d313aab8 | |
Anthony Axenov | f2bf5d45ac | |
Anthony Axenov | 8eb5bf7171 | |
Anthony Axenov | 80885bc876 |
36
Makefile
36
Makefile
|
@ -1,15 +1,15 @@
|
||||||
# Autogenerated at 12.04.2023 19:04 using ./gen-makefile
|
# Autogenerated at 31.08.2023 12:47 using ./gen-makefile
|
||||||
.DEFAULT_GOAL := help
|
.DEFAULT_GOAL := help
|
||||||
|
|
||||||
#===============================================
|
#===============================================
|
||||||
# Scripts listed in ./install
|
# Scripts listed in ./install
|
||||||
#===============================================
|
#===============================================
|
||||||
|
|
||||||
##apache: Install apache2 (latest)
|
##apache2: Install apache2 (latest)
|
||||||
apache:
|
apache2:
|
||||||
@./install/apache
|
@./install/apache2
|
||||||
|
|
||||||
##apt: Install bunch of software from apt
|
##apt: Install software from apt
|
||||||
apt:
|
apt:
|
||||||
@./install/apt
|
@./install/apt
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ docker:
|
||||||
dots:
|
dots:
|
||||||
@./install/dots
|
@./install/dots
|
||||||
|
|
||||||
##droidcam: Install droidcam v1.8.2
|
##droidcam: Install droidcam v1.9.0
|
||||||
droidcam:
|
droidcam:
|
||||||
@./install/droidcam
|
@./install/droidcam
|
||||||
|
|
||||||
|
@ -41,21 +41,21 @@ droidcam:
|
||||||
droidcam-obs:
|
droidcam-obs:
|
||||||
@./install/droidcam-obs
|
@./install/droidcam-obs
|
||||||
|
|
||||||
##flameshot-build: [TODO] Build flameshot from src (latest)
|
##flameshot: Install flameshot (latest)
|
||||||
flameshot-build:
|
flameshot:
|
||||||
@./install/flameshot-build
|
@./install/flameshot
|
||||||
|
|
||||||
##git: Install git (latest)
|
##git: Install git (latest)
|
||||||
git:
|
git:
|
||||||
@./install/git
|
@./install/git
|
||||||
|
|
||||||
##golang: Install golang v1.18.3
|
##golang: Install golang v1.21.0
|
||||||
golang:
|
golang:
|
||||||
@./install/golang
|
@./install/golang
|
||||||
|
|
||||||
##grubc: Install grub-customizer (latest) + ppa
|
##grub-customizer: Install grub-customizer (latest + ppa)
|
||||||
grubc:
|
grub-customizer:
|
||||||
@./install/grubc
|
@./install/grub-customizer
|
||||||
|
|
||||||
##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.5.8 (src)
|
##openvpn: Install openvpn v2.6.3 (src)
|
||||||
openvpn:
|
openvpn:
|
||||||
@./install/openvpn
|
@./install/openvpn
|
||||||
|
|
||||||
|
@ -242,10 +242,18 @@ 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
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
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')
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"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" }
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
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()
|
|
@ -0,0 +1,54 @@
|
||||||
|
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]])
|
|
@ -0,0 +1,7 @@
|
||||||
|
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>')
|
|
@ -0,0 +1,111 @@
|
||||||
|
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' },
|
||||||
|
|
||||||
|
})
|
|
@ -0,0 +1,187 @@
|
||||||
|
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'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
|
@ -0,0 +1,60 @@
|
||||||
|
-- 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
|
||||||
|
})
|
|
@ -0,0 +1 @@
|
||||||
|
require("mason").setup()
|
|
@ -0,0 +1,278 @@
|
||||||
|
-- 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 },
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
|
@ -0,0 +1,12 @@
|
||||||
|
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})
|
|
@ -0,0 +1,41 @@
|
||||||
|
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
83
helpers
|
@ -4,6 +4,41 @@ 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
|
||||||
|
@ -13,23 +48,30 @@ title() {
|
||||||
info
|
info
|
||||||
}
|
}
|
||||||
|
|
||||||
require() {
|
unpak_targz() {
|
||||||
if ! installed "$1"; then
|
require tar
|
||||||
if [ "$2" ]; then
|
tar -xzf "$1" -C "$2"
|
||||||
die "'$1' must to be installed in your system" 200
|
}
|
||||||
else
|
|
||||||
info "Installing '$1' because it is required to continue"
|
symlink() {
|
||||||
sudo apt install "$1"
|
ln -sf "$1" "$2"
|
||||||
[ $? -gt 0 ] && die "installation cancelled" 201
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
download() {
|
download() {
|
||||||
require wget 1
|
require wget
|
||||||
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}")
|
||||||
}
|
}
|
||||||
|
@ -126,13 +168,12 @@ 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 "
|
||||||
}
|
}
|
||||||
|
@ -155,7 +196,6 @@ 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() {
|
||||||
|
@ -164,19 +204,8 @@ fatal() {
|
||||||
}
|
}
|
||||||
|
|
||||||
die() {
|
die() {
|
||||||
error "$1"
|
error "${1:-halted}"
|
||||||
[ "$2" ] && exit $2 || exit 100
|
exit ${2:-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() {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
##makedesc: Install apache2 (latest)
|
##makedesc: Install apache2 (latest)
|
||||||
[ -f `dirname $0`/../helpers ] && source `dirname $0`/../helpers || exit 255
|
source `dirname $0`/../helpers || exit 255
|
||||||
|
|
||||||
title
|
title
|
||||||
|
|
19
install/apt
19
install/apt
|
@ -1,16 +1,12 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
##makedesc: Install bunch of software from apt
|
##makedesc: Install software from apt
|
||||||
|
source `dirname $0`/../helpers || exit 255
|
||||||
|
|
||||||
echo
|
title
|
||||||
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 \
|
||||||
sudo apt install -y \
|
|
||||||
alien \
|
alien \
|
||||||
apt-transport-https \
|
apt-transport-https \
|
||||||
build-essential \
|
build-essential \
|
||||||
|
@ -51,9 +47,10 @@ sudo apt install -y \
|
||||||
inotify-tools \
|
inotify-tools \
|
||||||
notify-osd \
|
notify-osd \
|
||||||
fonts-open-sans \
|
fonts-open-sans \
|
||||||
libnotify-bin
|
libnotify-bin \
|
||||||
|
tree \
|
||||||
|
earlyoom
|
||||||
# sqlitebrowser
|
# sqlitebrowser
|
||||||
# earlyoom \
|
|
||||||
# etckeeper \
|
# etckeeper \
|
||||||
# geoclue-2.0 \
|
# geoclue-2.0 \
|
||||||
# gnome-software \
|
# gnome-software \
|
||||||
|
|
|
@ -1,11 +1,17 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
##makedesc: Install Canon Pixma MG2500 + ppa
|
##makedesc: Install Canon Pixma MG2500 + ppa
|
||||||
|
source `dirname $0`/../helpers || exit 255
|
||||||
|
|
||||||
echo
|
title
|
||||||
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 cnijfilter-mg2500series scangearmp-mg2500series
|
sudo apt install -y \
|
||||||
|
cnijfilter-mg2500series \
|
||||||
|
scangearmp-mg2500series
|
||||||
|
|
||||||
|
[ $? = 0 ] && {
|
||||||
|
echo
|
||||||
|
success "Canon Pixma MG2500 installed!"
|
||||||
|
info "Now you must add a new printer in your system."
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
|
@ -1,14 +1,20 @@
|
||||||
#!/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
|
||||||
|
|
||||||
wget "https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb" -O /tmp/google-chrome-stable_current_amd64.deb && \
|
title
|
||||||
sudo dpkg -i /tmp/google-chrome-stable_current_amd64.deb && \
|
|
||||||
rm /tmp/google-chrome-stable_current_amd64.deb
|
mkdir -p "$HOME/install"
|
||||||
|
|
||||||
|
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
|
||||||
|
}
|
||||||
|
|
|
@ -1,56 +1,41 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
##makedesc: Install composer (latest)
|
##makedesc: Install composer (latest)
|
||||||
echo
|
source `dirname $0`/../helpers || exit 255
|
||||||
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
|
||||||
|
|
||||||
installed() {
|
title
|
||||||
command -v "$1" >/dev/null 2>&1
|
|
||||||
}
|
|
||||||
|
|
||||||
! installed "php" && echo "WARNING: You need php to be installed"
|
require php
|
||||||
|
|
||||||
if installed "composer"; then
|
if installed "composer"; then
|
||||||
echo "WARNING: Removing current composer to install its actual version"
|
warn "WARNING: Removing current composer to install its actual version"
|
||||||
sudo apt remove -y --autoremove composer
|
sudo apt remove -y --autoremove composer
|
||||||
sudo rm -f $HOME/.local/bin/composer
|
sudo rm -f \
|
||||||
sudo rm -f /bin/composer
|
"$HOME/.local/bin/composer" \
|
||||||
sudo rm -f /usr/bin/composer
|
/bin/composer \
|
||||||
sudo rm -f /usr/local/bin/composer
|
/usr/bin/composer \
|
||||||
sudo rm -f /usr/src/composer
|
/usr/local/bin/composer \
|
||||||
rm $HOME/.local/bin/composer
|
/usr/src/composer \
|
||||||
|
"$HOME/.local/bin/composer"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir -p $HOME/install $HOME/.local/bin
|
mkdir -p "$HOME/install" "$HOME/.local/bin"
|
||||||
cd $HOME/install
|
download "https://getcomposer.org/installer" "$HOME/install/composer-setup.php" && \
|
||||||
|
php "$HOME/install/composer-setup.php" --install-dir="$HOME/.local/bin/composer"
|
||||||
|
|
||||||
EXPECTED_CHECKSUM="$(php -r 'copy("https://composer.github.io/installer.sig", "php://stdout");')"
|
[ $? = 0 ] && {
|
||||||
# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
|
COMPOSER_GLOBAL_HOME="$($HOME/.local/bin/composer config -g home)"
|
||||||
wget https://getcomposer.org/installer -O composer-setup.php
|
NEWPATH="export PATH=\"$COMPOSER_GLOBAL_HOME/vendor/bin:\${PATH}\""
|
||||||
ACTUAL_CHECKSUM="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"
|
cat "$HOME/.profile" | grep -qoh "$NEWPATH" || {
|
||||||
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
|
$NEWPATH
|
||||||
echo "$NEWPATH" >> "${HOME}/.profile"
|
echo "$NEWPATH" >> "$HOME/.profile"
|
||||||
|
}
|
||||||
|
|
||||||
|
echo
|
||||||
|
success "composer installed!"
|
||||||
|
composer --version
|
||||||
|
echo
|
||||||
}
|
}
|
||||||
source "${HOME}/.profile"
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo "Finish!"
|
|
||||||
composer --version
|
|
||||||
echo
|
|
||||||
|
|
||||||
|
source "$HOME/.profile"
|
||||||
|
|
|
@ -1,41 +1,35 @@
|
||||||
#!/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/
|
||||||
|
|
||||||
sudo apt install -y \
|
title
|
||||||
ca-certificates \
|
|
||||||
curl \
|
require ca-certificates
|
||||||
gnupg \
|
require curl
|
||||||
lsb-release
|
require gnupg
|
||||||
|
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 && \
|
||||||
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 && \
|
||||||
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" \
|
sudo apt update && \
|
||||||
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
sudo apt install -y --autoremove \
|
||||||
|
|
||||||
sudo apt update
|
|
||||||
sudo apt install -y --autoremove \
|
|
||||||
docker-ce \
|
docker-ce \
|
||||||
docker-ce-cli \
|
docker-ce-cli \
|
||||||
containerd.io \
|
containerd.io \
|
||||||
docker-compose-plugin
|
docker-compose-plugin && \
|
||||||
|
sudo usermod -aG docker $(whoami)
|
||||||
|
|
||||||
sudo usermod -aG docker $(whoami)
|
[ $? = 0 ] && {
|
||||||
|
echo
|
||||||
echo
|
success "Docker installed!"
|
||||||
echo "Finish!"
|
info "Probably, you need to relogin to apply 'docker' group."
|
||||||
docker --version
|
info "Your ones currently are: $(groups)"
|
||||||
echo "Probably, you need to relogin to apply 'docker' group."
|
docker --version
|
||||||
echo "Your ones currently are: $(groups)"
|
echo
|
||||||
echo
|
}
|
||||||
|
|
27
install/dots
27
install/dots
|
@ -1,25 +1,22 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
##makedesc: Install dotfiles
|
##makedesc: Install dotfiles
|
||||||
|
source `dirname $0`/../helpers || exit 255
|
||||||
|
|
||||||
echo
|
title
|
||||||
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() {
|
install_dotfile() {
|
||||||
echo "mv "$HOME/$1" "$HOME/$1$postfix""
|
mv "$HOME/$1" "$HOME/$1$postfix"
|
||||||
echo "cp "$dotfiles_src_dir/$1" "$HOME/$1""
|
cp "$dotfiles_src_dir/$1" "$HOME/$1"
|
||||||
echo "- $1"
|
success "- $1"
|
||||||
}
|
}
|
||||||
|
|
||||||
install .bash_aliases
|
install_dotfile ".bash_aliases" && \
|
||||||
install .profile
|
install_dotfile ".profile" && \
|
||||||
install .bashrc
|
install_dotfile ".bashrc" && \
|
||||||
install .gitconfig
|
install_dotfile ".gitconfig" && \
|
||||||
install .gitignore
|
install_dotfile ".gitignore" && \
|
||||||
install .git_aliases
|
install_dotfile ".git_aliases"
|
||||||
|
|
|
@ -1,21 +1,22 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
##makedesc: Install droidcam v1.8.2
|
##makedesc: Install droidcam v1.9.0
|
||||||
|
source `dirname $0`/../helpers || exit 255
|
||||||
|
|
||||||
# https://www.dev47apps.com/droidcam/linux/
|
# https://www.dev47apps.com/droidcam/linux/
|
||||||
|
|
||||||
echo
|
title
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing droidcam v1.8.2..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
mkdir -p ~/install/droidcam
|
mkdir -p "$HOME/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
|
|
||||||
|
|
||||||
echo
|
download "https://files.dev47apps.net/linux/droidcam_1.9.0.zip" "$HOME/install/droidcam.zip" && \
|
||||||
echo "Finish!"
|
unzip -oq "$HOME/install/droidcam.zip" -d "$HOME/install/droidcam" && \
|
||||||
echo "Don't forget to install android app: https://play.google.com/store/apps/developer?id=Dev47Apps"
|
cd "$HOME/install/droidcam" && \
|
||||||
echo
|
sudo ./install-client
|
||||||
|
|
||||||
|
[ $? = 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
|
||||||
|
}
|
||||||
|
|
|
@ -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 ~/install/droidcam-obs
|
mkdir -p $HOMEinstall/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 ~/install/droidcam-obs
|
unzip -oq /tmp/droidcam-obs.zip -d $HOMEinstall/droidcam-obs
|
||||||
rm -rf /tmp/droidcam-obs.zip
|
rm -rf /tmp/droidcam-obs.zip
|
||||||
cd ~/install/droidcam-obs && ./install.sh
|
cd $HOMEinstall/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
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
#!/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
|
||||||
|
}
|
|
@ -1,8 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
##makedesc: [TODO] Build flameshot from src (latest)
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing flameshot (latest)..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
43
install/git
43
install/git
|
@ -1,43 +1,38 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
##makedesc: Install git (latest)
|
##makedesc: Install git (latest)
|
||||||
|
source `dirname $0`/../helpers || exit 255
|
||||||
|
|
||||||
echo
|
title
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing git (latest)..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
installed() {
|
require make
|
||||||
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
|
||||||
git clone https://github.com/git/git.git --depth=1 "${HOME}/install/git" && \
|
clone "https://github.com/git/git.git" "$HOME/install/git" --depth=1 --single-branch && \
|
||||||
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
|
||||||
! installed wget && sudo apt install -y wget
|
require wget
|
||||||
[ -d "${HOME}/install/git" ] || mkdir -p "${HOME}/install/git"
|
mkdir -p "$HOME/install/git"
|
||||||
wget https://github.com/git/git/archive/master.zip -O /tmp/git.zip && \
|
download "https://github.com/git/git/archive/master.zip" "/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 && \
|
||||||
git clone https://github.com/git/git.git --depth=1 "${HOME}/install/git"
|
clone "https://github.com/git/git.git" "$HOME/install/git" --depth=1 --single-branch
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo
|
[ $? = 0 ] && {
|
||||||
echo "Finish!"
|
echo
|
||||||
git --version
|
success "git installed!"
|
||||||
echo
|
git --version
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
|
@ -1,30 +1,28 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
##makedesc: Install golang v1.18.3
|
##makedesc: Install golang v1.21.0
|
||||||
|
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"
|
||||||
|
|
||||||
echo
|
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing golang v$VERSION..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
sudo rm -rf /usr/local/go && \
|
sudo rm -rf /usr/local/go && \
|
||||||
wget "https://golang.org/dl/$FILE" -O /tmp/$FILE && \
|
download "https://golang.org/dl/$FILE" "/tmp/$FILE" && \
|
||||||
sudo tar -xzf /tmp/$FILE -C /usr/local && \
|
sudo tar -xzf "/tmp/$FILE" -C /usr/local && \
|
||||||
rm -rf /tmp/$FILE && \
|
rm -rf "/tmp/$FILE" && \
|
||||||
sudo chown $USER: -R /usr/local/go && \
|
sudo chown $USER: -R /usr/local/go && \
|
||||||
echo 'export PATH="$PATH:/usr/local/go/bin\"' >> $HOME/.profile && \
|
echo 'export PATH="/usr/local/go/bin:$PATH"' >> "$HOME/.profile" && \
|
||||||
echo 'export GOPATH="$HOME/.go"' >> $HOME/.profile
|
echo "export GOPATH=\"\$HOME/.go\"" >> "$HOME/.profile" && \
|
||||||
|
source ~/.profile
|
||||||
|
|
||||||
echo
|
[ $? = 0 ] && {
|
||||||
echo "Finish!"
|
echo
|
||||||
go version
|
success "golang installed!"
|
||||||
echo "NOTE: now run 'source ~/.profile' to apply new env vars"
|
info "NOTE: now run 'source ~/.profile' to apply new env vars"
|
||||||
echo
|
go version
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
#!/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
|
||||||
|
}
|
|
@ -1,11 +0,0 @@
|
||||||
#!/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
|
|
|
@ -1,14 +1,14 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
##makedesc: Install JetBrains Mono fonts
|
##makedesc: Install JetBrains Mono fonts
|
||||||
[ -f `dirname $0`/../helpers ] && source `dirname $0`/../helpers || exit 255
|
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/"
|
||||||
|
|
|
@ -1,14 +1,9 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
##makedesc: Install KDE Backports
|
##makedesc: Install KDE Backports
|
||||||
|
source `dirname $0`/../helpers || exit 255
|
||||||
|
|
||||||
echo
|
title
|
||||||
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 add-apt-repository -y ppa:kubuntu-ppa/backports-extra
|
sudo apt update && \
|
||||||
sudo apt update
|
sudo apt full-upgrade
|
||||||
# sudo pkcon update
|
|
||||||
sudo apt full-upgrade
|
|
||||||
|
|
|
@ -0,0 +1,53 @@
|
||||||
|
#!/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
|
|
@ -1,37 +1,31 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
##makedesc: Install openvpn v2.5.8 (src)
|
##makedesc: Install openvpn v2.6.3 (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.5.8'
|
[ "$1" ] && OVPNVER="$1" || OVPNVER='2.6.3'
|
||||||
|
|
||||||
echo
|
title "Installing openvpn v${OVPNVER} (src)..."
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing openvpn v${OVPNVER} (src)..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
set -ex
|
require libssl-dev \
|
||||||
|
|
||||||
sudo apt install -y \
|
|
||||||
libssl-dev \
|
|
||||||
liblzo2-dev \
|
liblzo2-dev \
|
||||||
libpam0g-dev
|
libpam0g-dev
|
||||||
|
|
||||||
mkdir -p "${HOME}/install/"
|
mkdir -p "$HOME/install/"
|
||||||
wget "https://swupdate.openvpn.org/community/releases/openvpn-${OVPNVER}.tar.gz" \
|
download "https://swupdate.openvpn.org/community/releases/openvpn-${OVPNVER}.tar.gz" "$HOME/install/openvpn-${OVPNVER}.tar.gz" && \
|
||||||
-O "/tmp/openvpn-${OVPNVER}.tar.gz"
|
unpak_targz "$HOME/install/openvpn-${OVPNVER}.tar.gz" "$HOME/install/" && \
|
||||||
tar -xzf "/tmp/openvpn-${OVPNVER}.tar.gz" -C "${HOME}/install/"
|
cd "$HOME/install/openvpn-${OVPNVER}" && \
|
||||||
cd "${HOME}/install/openvpn-${OVPNVER}"
|
sudo ./configure && \
|
||||||
sudo ./configure && \
|
|
||||||
sudo make && \
|
sudo make && \
|
||||||
sudo make install &&
|
sudo make install &&
|
||||||
sudo apt install -y \
|
apt_install network-manager-openvpn \
|
||||||
network-manager-openvpn \
|
|
||||||
network-manager-openvpn-gnome
|
network-manager-openvpn-gnome
|
||||||
|
|
||||||
echo
|
[ $? = 0 ] && {
|
||||||
echo "Finish!"
|
echo
|
||||||
openvpn --version
|
success "openvpn installed!"
|
||||||
echo
|
openvpn --version
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
|
@ -1,34 +1,27 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
##makedesc: Install papirus-icon-theme (latest)
|
##makedesc: Install papirus-icon-theme (latest)
|
||||||
|
source `dirname $0`/../helpers || exit 255
|
||||||
|
|
||||||
echo
|
title
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing papirus-icon-theme (latest)..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
installed() {
|
mkdir -p "$HOME/install/papirus-icon-theme" "$HOME/.local/share/icons/"
|
||||||
command -v "$1" >/dev/null 2>&1
|
|
||||||
}
|
|
||||||
|
|
||||||
if installed git; then
|
if installed git; then
|
||||||
mkdir -p "${HOME}/install/"
|
clone_quick https://github.com/PapirusDevelopmentTeam/papirus-icon-theme.git "$HOME/install/"
|
||||||
git clone https://github.com/PapirusDevelopmentTeam/papirus-icon-theme.git "${HOME}/install/papirus-icon-theme" --depth=1 --single-branch
|
|
||||||
else
|
else
|
||||||
! installed wget && sudo apt install -y wget
|
download https://github.com/PapirusDevelopmentTeam/papirus-icon-theme/archive/refs/heads/master.zip -O "$HOME/install/papirus-icon-theme.zip" && \
|
||||||
mkdir -p "${HOME}/install/papirus-icon-theme"
|
unzip -oq "$HOME/install/papirus-icon-theme.zip" -d "$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"
|
rm -f "$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
|
fi
|
||||||
|
|
||||||
mkdir -p "${HOME}/.local/share/icons/"
|
symlink "$HOME/install/papirus-icon-theme/Papirus" "$HOME/.local/share/icons/Papirus" && \
|
||||||
ln -sf "${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" && \
|
||||||
ln -sf "${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"
|
||||||
ln -sf "${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
|
||||||
|
}
|
||||||
|
|
||||||
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
|
|
||||||
|
|
|
@ -1,16 +1,14 @@
|
||||||
#!/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
|
||||||
|
|
||||||
echo
|
title
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing postgresql (latest)..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
installed() {
|
require postgresql postgresql-contrib && \
|
||||||
command -v "$1" >/dev/null 2>&1
|
sudo service postgresql restart && \
|
||||||
}
|
{
|
||||||
|
echo
|
||||||
sudo apt install -y --autoremove postgresql postgresql-contrib
|
success "openvpn installed!"
|
||||||
sudo service postgresql restart
|
postgres --version
|
||||||
installed 'php' && sudo apt install -y --autoremove php-pgsql
|
echo
|
||||||
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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 \
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -1,28 +1,33 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
##makedesc: Install postman (latest)
|
##makedesc: Install postman (latest)
|
||||||
|
source `dirname $0`/../helpers || exit 255
|
||||||
|
|
||||||
echo
|
# https://learning.postman.com/docs/getting-started/installation-and-updates/#installing-postman-on-linux
|
||||||
echo "==============================================="
|
|
||||||
echo "Installing postman (latest)..."
|
|
||||||
echo "==============================================="
|
|
||||||
echo
|
|
||||||
|
|
||||||
mkdir -p ${HOME}/install/postman
|
# set -ex
|
||||||
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
|
Exec=$HOME/.local/bin/postman %U
|
||||||
Icon=${HOME}/install/postman/Postman/app/icons/icon_128x128.png
|
Icon=$HOME/install/Postman/app/icons/icon_128x128.png
|
||||||
Categories=Utility,Network
|
Categories=Development,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
|
||||||
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#!/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/
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -8,4 +8,4 @@ echo "==============================================="
|
||||||
echo
|
echo
|
||||||
|
|
||||||
sudo apt install -y --autoremove zsh
|
sudo apt install -y --autoremove zsh
|
||||||
echo "source ~/.profile" >> ~/.zshrc
|
echo "source ~/.profile" >> "$HOME/.zshrc"
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
#!/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
|
|
@ -0,0 +1,13 @@
|
||||||
|
#!/bin/bash
|
||||||
|
##makedesc: Uninstall apache2
|
||||||
|
source `dirname $0`/../helpers || exit 255
|
||||||
|
|
||||||
|
title
|
||||||
|
|
||||||
|
sudo apt remove -y --autoremove apache2
|
||||||
|
|
||||||
|
[ $? = 0 ] && {
|
||||||
|
echo
|
||||||
|
success "apache2 uninstalled!"
|
||||||
|
echo
|
||||||
|
}
|
|
@ -0,0 +1,19 @@
|
||||||
|
#!/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
|
||||||
|
}
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue