neovim:init.vim->init.lua and misc changes
This commit is contained in:
50
.github/workflows/main.yml
vendored
50
.github/workflows/main.yml
vendored
@@ -26,53 +26,3 @@ jobs:
|
||||
name: natto1784
|
||||
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
||||
- run: nix build -L .#${{ matrix.pkg }}
|
||||
|
||||
nixos:
|
||||
name: build nixos configurations
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
host:
|
||||
#- Marisa
|
||||
#- Satori
|
||||
steps:
|
||||
- uses: actions/checkout@v2.3.4
|
||||
- uses: cachix/install-nix-action@v13
|
||||
with:
|
||||
install_url: https://github.com/numtide/nix-flakes-installer/releases/download/nix-2.4pre20210429_d15a196/install
|
||||
extra_nix_config: |
|
||||
experimental-features = nix-command flakes
|
||||
- uses: cachix/cachix-action@v10
|
||||
with:
|
||||
name: natto1784
|
||||
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
||||
- run: nix build -L .#nixosConfigurations.${{ matrix.host }}.config.system.build.toplevel
|
||||
home-manager:
|
||||
name: build home-manager configurations
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
home:
|
||||
#- natto
|
||||
homeaarch:
|
||||
- ottan
|
||||
steps:
|
||||
- uses: actions/checkout@v2.3.4
|
||||
- uses: cachix/install-nix-action@v13
|
||||
with:
|
||||
install_url: https://github.com/numtide/nix-flakes-installer/releases/download/nix-2.4pre20210429_d15a196/install
|
||||
extra_nix_config: |
|
||||
experimental-features = nix-command flakes
|
||||
- uses: cachix/cachix-action@v10
|
||||
with:
|
||||
name: natto1784
|
||||
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
||||
- uses: uraimo/run-on-arch-action@v2.0.5
|
||||
name: Run commands
|
||||
id: runcmd
|
||||
with:
|
||||
arch: aarch64
|
||||
distro: ubuntu-latest
|
||||
run: nix build -L .#hm-configs.${{ matrix.homeaarch }}.activationPackage
|
||||
- run: nix build -L .#hm-configs.${{ matrix.home }}.activationPackage
|
||||
|
||||
|
72
common/pipewire.nix
Normal file
72
common/pipewire.nix
Normal file
@@ -0,0 +1,72 @@
|
||||
{lib, config, ... }:
|
||||
|
||||
{
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa = {
|
||||
enable = true;
|
||||
support32Bit = true;
|
||||
};
|
||||
pulse = {
|
||||
enable = true;
|
||||
};
|
||||
config.pipewire = {
|
||||
context.modules = [
|
||||
{
|
||||
name = "libpipewire-module-rtkit";
|
||||
args = {
|
||||
nice.level = -15;
|
||||
rt.prio = 88;
|
||||
rt.time.soft = 200000;
|
||||
rt.time.hard = 200000;
|
||||
};
|
||||
flags = [ "ifexists" "nofail" ];
|
||||
}
|
||||
{ name = "libpipewire-module-protocol-native"; }
|
||||
{ name = "libpipewire-module-profiler"; }
|
||||
{ name = "libpipewire-module-metadata"; }
|
||||
{ name = "libpipewire-module-spa-device-factory"; }
|
||||
{ name = "libpipewire-module-spa-node-factory"; }
|
||||
{ name = "libpipewire-module-client-node"; }
|
||||
{ name = "libpipewire-module-client-device"; }
|
||||
{
|
||||
name = "libpipewire-module-portal";
|
||||
flags = [ "ifexists" "nofail" ];
|
||||
}
|
||||
{
|
||||
name = "libpipewire-module-access";
|
||||
args = {};
|
||||
}
|
||||
{ name = "libpipewire-module-adapter"; }
|
||||
{ name = "libpipewire-module-link-factory"; }
|
||||
{ name = "libpipewire-module-session-manager"; }
|
||||
];
|
||||
};
|
||||
|
||||
config.pipewire-pulse = {
|
||||
context.modules = [
|
||||
{ name = "libpipewire-module-protocol-native"; }
|
||||
{ name = "libpipewire-module-client-node"; }
|
||||
{ name = "libpipewire-module-adapter"; }
|
||||
{ name = "libpipewire-module-metadata"; }
|
||||
{
|
||||
name = "libpipewire-module-protocol-pulse";
|
||||
args = {
|
||||
pulse.min.req = "32/48000";
|
||||
pulse.min.quantum = "32/48000";
|
||||
pulse.min.frag = "32/48000";
|
||||
};
|
||||
}
|
||||
];
|
||||
stream.properties = {
|
||||
node.latency = "32/48000";
|
||||
resample.quality = 1;
|
||||
};
|
||||
};
|
||||
};
|
||||
sound.enable = true;
|
||||
# hardware = {
|
||||
# pulseaudio.enable = true;
|
||||
# pulseaudio.support32Bit = true;
|
||||
# };
|
||||
}
|
@@ -2,53 +2,30 @@
|
||||
{
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
package = pkgs.neovim-nightly;
|
||||
defaultEditor = true;
|
||||
configure = {
|
||||
customRC = ''
|
||||
"theme
|
||||
let g:gruvbox_italic=1
|
||||
let g:gruvbox_contrast_dark="hard"
|
||||
let g:gruvbox_contrast_light="hard"
|
||||
set background=dark
|
||||
colorscheme gruvbox
|
||||
'' +
|
||||
builtins.readFile ./nvim/init.vim +
|
||||
builtins.readFile ./nvim/utils.vim +
|
||||
''
|
||||
"Floaterm
|
||||
let g:floaterm_keymap_toggle = '<F1>'
|
||||
let g:floaterm_keymap_next = '<F2>'
|
||||
let g:floaterm_keymap_prev = '<F3>'
|
||||
let g:floaterm_keymap_new = '<F4>'
|
||||
let g:floaterm_gitcommit='floaterm'
|
||||
let g:floaterm_autoinsert=1
|
||||
let g:floaterm_width=0.8
|
||||
let g:floaterm_height=0.8
|
||||
let g:floaterm_wintitle=0
|
||||
let g:floaterm_shell="/usr/bin/env zsh"
|
||||
'' +
|
||||
/* ''
|
||||
"Colorizer
|
||||
packadd! nvim-colorizer.lua
|
||||
lua require'colorizer'.setup()
|
||||
'' +
|
||||
*/ ''
|
||||
"closetag
|
||||
let g:closetag_filenames = "*.html,*.xhtml,*.phtml,*.js,*.erb,*.jsx"
|
||||
let g:closetag_xhtml_filenames = '*.xhtml,*.jsx,*.js,*.erb'
|
||||
let g:closetag_emptyTags_caseSensitive = 1
|
||||
let g:closetag_shortcut = '>'
|
||||
let g:closetag_close_shortcut = '<leader>>'
|
||||
'' +
|
||||
''
|
||||
"nerdcommenter
|
||||
map <C-c> <plug>NERDCommenterToggle
|
||||
map <C-d> <plug>NERDCommenterSexy
|
||||
'';
|
||||
|
||||
customRC ="lua << EOF\n" + builtins.readFile ./nvim/init.lua + "\nEOF\n";
|
||||
packages.myVimPackage = with pkgs.vimPlugins; {
|
||||
start = [ auto-pairs vim-floaterm vim-rooter vim-polyglot gruvbox vim-closetag vim-floaterm nerdcommenter];
|
||||
start = [
|
||||
nvim-colorizer-lua
|
||||
auto-pairs
|
||||
vim-floaterm
|
||||
vim-rooter
|
||||
vim-closetag
|
||||
vim-floaterm
|
||||
nerdcommenter
|
||||
vim-startify
|
||||
nvim-compe
|
||||
nvim-lspconfig
|
||||
barbar-nvim
|
||||
nvim-web-devicons
|
||||
vim-polyglot
|
||||
(gruvbox.overrideAttrs (oa: { patches = [ ./nvim/gruvbox.patch ]; }))
|
||||
# (gruvbox.overrideAttrs (oa: { src = pkgs.fetchFromGitHub{} }))
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
11
configs/nvim/gruvbox.patch
Normal file
11
configs/nvim/gruvbox.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- a/colors/gruvbox.vim 2021-05-28 01:06:40.516914044 +0530
|
||||
+++ b/colors/gruvbox.vim 2021-05-28 01:07:38.279375184 +0530
|
||||
@@ -588,7 +588,7 @@
|
||||
" try, catch, throw
|
||||
hi! link Exception GruvboxRed
|
||||
" sizeof, "+", "*", etc.
|
||||
-hi! link Operator Normal
|
||||
+hi! link Operator GruvboxFg1
|
||||
" Any other keyword
|
||||
hi! link Keyword GruvboxRed
|
||||
|
287
configs/nvim/init.lua
Normal file
287
configs/nvim/init.lua
Normal file
@@ -0,0 +1,287 @@
|
||||
require'lspconfig'.rust_analyzer.setup{}
|
||||
require'lspconfig'.tsserver.setup{}
|
||||
require'lspconfig'.clangd.setup{}
|
||||
require'lspconfig'.tsserver.setup{}
|
||||
require'lspconfig'.jedi_language_server.setup{}
|
||||
require'lspconfig'.purescriptls.setup{}
|
||||
require'colorizer'.setup{}
|
||||
|
||||
local comm = vim.api.nvim_command
|
||||
local bind = vim.api.nvim_set_keymap
|
||||
local set = function(a) comm("set " .. a) end
|
||||
local setvar = vim.api.nvim_set_var
|
||||
local getvar = vim.api.nvim_get_var
|
||||
|
||||
function hi(hi_var, hi_value)
|
||||
comm("hi " .. hi_var .. " " .. hi_value)
|
||||
end
|
||||
|
||||
--SETTINGS
|
||||
|
||||
comm("syntax enable")
|
||||
comm("syntax sync minlines=100")
|
||||
set("cmdheight=1")
|
||||
set("modifiable")
|
||||
set("cursorline")
|
||||
set("hidden")
|
||||
set("encoding=utf-8")
|
||||
set("pumheight=10")
|
||||
set("fileencoding=utf-8")
|
||||
set("ruler")
|
||||
set("cmdheight=1")
|
||||
set("mouse=a")
|
||||
set("splitbelow")
|
||||
set("splitright")
|
||||
set("nowrap")
|
||||
set("conceallevel=0")
|
||||
set("tabstop=4")
|
||||
set("shiftwidth=4")
|
||||
set("smarttab")
|
||||
set("expandtab")
|
||||
set("smartindent")
|
||||
set("autoindent")
|
||||
set("number")
|
||||
set("relativenumber")
|
||||
set("showtabline=2")
|
||||
set("updatetime=300")
|
||||
set("lazyredraw")
|
||||
set("timeoutlen=100")
|
||||
set("clipboard=unnamedplus")
|
||||
|
||||
--KEYBINDS
|
||||
|
||||
--Colemak-DH bind fuction for hjkl [mnei])
|
||||
local function cdhbind(a, b)
|
||||
bind('n', a:lower(), b:lower(), { noremap = true})
|
||||
bind('n', a:upper(), b:upper(), { noremap = true})
|
||||
bind('o', a:lower(), b:lower(), { noremap = true})
|
||||
bind('o', a:upper(), b:upper(), { noremap = true})
|
||||
bind('x', a:lower(), b:lower(), { noremap = true})
|
||||
bind('x', a:upper(), b:upper(), { noremap = true})
|
||||
end
|
||||
|
||||
cdhbind('m', 'h')
|
||||
cdhbind('n', 'j')
|
||||
cdhbind('e', 'k')
|
||||
cdhbind('i', 'l')
|
||||
cdhbind('h', 'i')
|
||||
cdhbind('j', 'm')
|
||||
cdhbind('k', 'n')
|
||||
cdhbind('l', 'e')
|
||||
bind('n', "<M-s>", ":w<CR>", {noremap=true})
|
||||
bind('n', "<M-n>", ":resize -2<CR>", {noremap=true, silent=true})
|
||||
bind('n', "<M-e>", ":resize +2<CR>", {noremap=true, silent=true})
|
||||
bind('n', "<M-m>", ":vertical resize -2<CR>", {noremap=true, silent=true})
|
||||
bind('n', "<M-i>", ":vertical resize +2<CR>", {noremap=true, silent=true})
|
||||
bind('v', '<', "<gv", {noremap=true})
|
||||
bind('v', '>', ">gv", {noremap=true})
|
||||
bind('n', "<C-q>", "<C-w>q", {noremap=true})
|
||||
bind('n', "<C-m>", "<C-w>h", {noremap=true})
|
||||
bind('n', "<C-n>", "<C-w>j", {noremap=true})
|
||||
bind('n', "<C-e>", "<C-w>k", {noremap=true})
|
||||
bind('n', "<C-i>", "<C-w>l", {noremap=true})
|
||||
|
||||
--RUN AND REPL (using vim-floaterm)
|
||||
|
||||
function _G.CompileRun()
|
||||
local file = vim.fn.expand('%:p')
|
||||
local noext = vim.fn.expand('%:p:r')
|
||||
local commandMap = {
|
||||
['java'] = 'java ' .. file,
|
||||
['lisp'] = 'clisp ' .. file,
|
||||
['python'] = 'python3 ' .. file,
|
||||
['c'] = 'gcc ' .. file .. ' -o ' .. noext .. ' && ' .. noext .. ' && rm ' .. noext,
|
||||
['rust'] = 'rustc ' .. file .. ' -o ' .. noext .. ' && ' .. noext .. ' && rm ' .. noext,
|
||||
['cpp'] = 'g++ -std=c++17 ' .. file .. ' -o ' .. noext .. ' && ' .. noext .. ' && rm ' .. noext,
|
||||
['haskell'] = 'ghc -dynamic ' .. file .. ' && ' .. noext .. ' && rm ' .. noext .. ' ' .. noext .. '.o ' .. noext .. '.hi',
|
||||
['sh'] = 'sh ' .. file,
|
||||
['javascript']= 'node ' .. file,
|
||||
['typescript']= 'tsc ' .. file .. ' && node ' .. noext .. '.js && rm ' .. noext .. '.js'
|
||||
}
|
||||
filetype = vim.api.nvim_buf_get_option(0, "filetype")
|
||||
if commandMap[filetype] ~= nil then comm("FloatermNew --autoclose=0 " .. commandMap[filetype]) end
|
||||
end
|
||||
|
||||
function _G.Repl()
|
||||
local file = vim.fn.expand('%:p')
|
||||
local commandMap = {
|
||||
['lisp'] = 'clisp',
|
||||
['python'] = 'python3',
|
||||
['haskell'] = 'ghci ' .. file,
|
||||
['sh'] = 'sh',
|
||||
['javascript']= 'node',
|
||||
['typescript']= 'ts-node',
|
||||
['nix'] = 'nix repl',
|
||||
['lua'] = 'lua'
|
||||
}
|
||||
filetype = vim.api.nvim_buf_get_option(0, "filetype")
|
||||
if commandMap[filetype] ~= nil then comm("FloatermNew " .. commandMap[filetype]) end
|
||||
end
|
||||
bind('n', "<F5>", ":call v:lua.CompileRun()<CR>", {silent=true})
|
||||
bind('n', "<F6>", ":call v:lua.Repl()<CR>", {silent=true})
|
||||
|
||||
|
||||
|
||||
--PLUGINS CONFIG
|
||||
|
||||
--gruvbox
|
||||
vim.g.gruvbox_italic=1
|
||||
vim.g.gruvbox_contrast_dark="hard"
|
||||
vim.g.gruvbox_contrast_light="hard"
|
||||
set("background=dark")
|
||||
comm("colorscheme gruvbox")
|
||||
--floaterm
|
||||
vim.g.floaterm_keymap_toggle = '<F1>'
|
||||
vim.g.floaterm_keymap_next = '<F2>'
|
||||
vim.g.floaterm_keymap_prev = '<F3>'
|
||||
vim.g.floaterm_keymap_new = '<F4>'
|
||||
vim.g.floaterm_gitcommit='floaterm'
|
||||
vim.g.floaterm_autoinsert=1
|
||||
vim.g.floaterm_width=1.0
|
||||
vim.g.floaterm_height=0.3
|
||||
vim.g.floaterm_shell="/usr/bin/env zsh"
|
||||
vim.g.floaterm_wintype = "split"
|
||||
--closetag
|
||||
vim.g.closetag_filenames = "*.html,*.xhtml,*.phtml,*.js,*.erb,*.jsx"
|
||||
vim.g.closetag_xhtml_filenames = "*.xhtml,*.jsx,*.js,*.erb"
|
||||
vim.g.closetag_emptyTags_caseSensitive = 1
|
||||
vim.g.closetag_shortcut = '>'
|
||||
--nerdcommenter
|
||||
bind('n',"<C-c>","<plug>NERDCommenterToggle", {noremap=true, silent=true})
|
||||
bind('n',"<C-d>","<plug>NERDCommenterSexy", {noremap=true, silent=true})
|
||||
--barbar
|
||||
bind('n', "<M-,>", ":BufferPrevious<CR>", {silent=true, noremap=true})
|
||||
bind('n', "<M-.>", ":BufferNext<CR>", {silent=true, noremap=true})
|
||||
bind('n', "<M-<>", ":BufferMovePrevious<CR>", {silent=true, noremap=true})
|
||||
bind('n', "<M->>", ":BufferMoveNext<CR>", {silent=true, noremap=true})
|
||||
for i = 1,8,1
|
||||
do
|
||||
bind('n', string.format("<M-%d>", i), string.format(":BufferGoto %d<CR>", i), {silent=true, noremap=true})
|
||||
end
|
||||
|
||||
--lsp and compe stuff i got from various places
|
||||
vim.api.nvim_buf_set_keymap(0, 'n', 'gD', '<Cmd>lua vim.lsp.buf.declaration()<CR>', {silent=true, noremap=true})
|
||||
vim.api.nvim_buf_set_keymap(0, 'n', 'gd', '<Cmd>lua vim.lsp.buf.definition()<CR>', {silent=true, noremap=true})
|
||||
vim.api.nvim_buf_set_keymap(0, 'n', 'K', '<Cmd>lua vim.lsp.buf.hover()<CR>', {silent=true, noremap=true})
|
||||
vim.api.nvim_buf_set_keymap(0, 'n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', {silent=true, noremap=true})
|
||||
vim.api.nvim_buf_set_keymap(0, 'n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', {silent=true, noremap=true})
|
||||
vim.api.nvim_buf_set_keymap(0, 'n', "<space>f", "<cmd>lua vim.lsp.buf.formatting()<CR>", {silent=true, noremap=true})
|
||||
require'compe'.setup {
|
||||
enabled = true;
|
||||
autocomplete = true;
|
||||
debug = false;
|
||||
min_length = 1;
|
||||
preselect = 'enable';
|
||||
throttle_time = 80;
|
||||
source_timeout = 200;
|
||||
incomplete_delay = 400;
|
||||
max_abbr_width = 100;
|
||||
max_kind_width = 100;
|
||||
max_menu_width = 100;
|
||||
documentation = true;
|
||||
|
||||
source = {
|
||||
path = true;
|
||||
buffer = true;
|
||||
nvim_lsp = true;
|
||||
calc = true;
|
||||
spell = true;
|
||||
treesitter = true;
|
||||
nvim_lua = true;
|
||||
};
|
||||
}
|
||||
|
||||
local t = function(str)
|
||||
return vim.api.nvim_replace_termcodes(str, true, true, true)
|
||||
end
|
||||
local check_back_space = function()
|
||||
local col = vim.fn.col('.') - 1
|
||||
if col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') then
|
||||
return true
|
||||
else
|
||||
return false
|
||||
end
|
||||
end
|
||||
|
||||
-- Use (s-)tab to:
|
||||
--- move to prev/next item in completion menuone
|
||||
--- jump to prev/next snippet's placeholder
|
||||
_G.tab_complete = function()
|
||||
if vim.fn.pumvisible() == 1 then
|
||||
return t "<C-n>"
|
||||
elseif check_back_space() then
|
||||
return t "<Tab>"
|
||||
else
|
||||
return vim.fn['compe#complete']()
|
||||
end
|
||||
end
|
||||
|
||||
_G.s_tab_complete = function()
|
||||
if vim.fn.pumvisible() == 1 then
|
||||
return t "<C-p>"
|
||||
elseif vim.fn.call("vsnip#jumpable", {-1}) == 1 then
|
||||
return t "<Plug>(vsnip-jump-prev)"
|
||||
else
|
||||
return t "<S-Tab>"
|
||||
end
|
||||
end
|
||||
vim.api.nvim_set_keymap("i", "<Tab>", "v:lua.tab_complete()", {expr = true, silent = true})
|
||||
vim.api.nvim_set_keymap("s", "<Tab>", "v:lua.tab_complete()", {expr = true, silent = true})
|
||||
vim.api.nvim_set_keymap("i", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true, silent = true})
|
||||
vim.api.nvim_set_keymap("s", "<S-Tab>", "v:lua.s_tab_complete()", {expr = true, silent = true})
|
||||
|
||||
set("shortmess+=c")
|
||||
|
||||
--STATUSLINE
|
||||
|
||||
set("noruler")
|
||||
set("laststatus=2")
|
||||
local function mode()
|
||||
local mode_map = {
|
||||
['n'] = 'normal ',
|
||||
['v'] = 'visual ',
|
||||
['V'] = 'v·line ',
|
||||
[''] = 'v·block ',
|
||||
['s'] = 'select ',
|
||||
['S'] = 's·line ',
|
||||
[''] = 's·block ',
|
||||
['i'] = 'insert ',
|
||||
['Rv'] = 'v·replace ',
|
||||
['c'] = 'command ',
|
||||
['!'] = 'shell ',
|
||||
['t'] = 'terminal '
|
||||
}
|
||||
local m = vim.api.nvim_get_mode().mode
|
||||
if mode_map[m] == nil then return m end
|
||||
return mode_map[m]
|
||||
end
|
||||
|
||||
hi("Light", "guibg=#fbf1c7 guifg=#1d2021")
|
||||
hi("Dark", "guibg=#1d2021 guifg=#fbf1c7")
|
||||
hi("Gray", "guifg=#fbf1c7 guibg=#665c54")
|
||||
|
||||
local function git()
|
||||
local branch = io.popen([[git rev-parse --abbrev-ref HEAD 2>/dev/null | tr -d '\n']]):read("*a")
|
||||
return string.len(branch) > 0 and ' '.. branch or ''
|
||||
end
|
||||
|
||||
local statusline = {
|
||||
'%#Light# ',
|
||||
mode():upper() .. ' ',
|
||||
'%#Dark#',
|
||||
string.len(git()) > 0 and ' ' .. git() .. ' ' or '',
|
||||
'%#Gray# ',
|
||||
'%f ',
|
||||
'%#Light#',
|
||||
'%=',
|
||||
'%#Dark# ',
|
||||
'%y ',
|
||||
'%#Light# ',
|
||||
'%p%% ',
|
||||
' ',
|
||||
'%l/%L ',
|
||||
' ',
|
||||
'%c '
|
||||
}
|
||||
vim.o.statusline = table.concat(statusline)
|
||||
vim.api.nvim_set_option("termguicolors", true)
|
@@ -1,129 +0,0 @@
|
||||
"SETTINGS
|
||||
let g:mapleader = "\<Space>"
|
||||
syntax enable
|
||||
set modifiable
|
||||
set cursorline
|
||||
set hidden
|
||||
set nowrap
|
||||
set encoding=utf-8
|
||||
set pumheight=10
|
||||
set fileencoding=utf-8
|
||||
set ruler
|
||||
set cmdheight=2
|
||||
set iskeyword+=-
|
||||
set mouse=a
|
||||
set splitbelow
|
||||
set splitright
|
||||
set t_Co=256
|
||||
set conceallevel=0
|
||||
set tabstop=4
|
||||
set shiftwidth=4
|
||||
set smarttab
|
||||
set expandtab
|
||||
set smartindent
|
||||
set autoindent
|
||||
set number
|
||||
set relativenumber
|
||||
set background=dark
|
||||
syntax sync minlines=100
|
||||
set showtabline=2
|
||||
set noshowmode
|
||||
set nobackup
|
||||
set nowritebackup
|
||||
set updatetime=300
|
||||
set lazyredraw
|
||||
set timeoutlen=100
|
||||
set formatoptions-=cro
|
||||
set clipboard=unnamedplus
|
||||
au! BufWritePost $MYVIMRC source %
|
||||
cmap w!! w !sudo tee %
|
||||
|
||||
|
||||
"MAPPINGS
|
||||
inoremap <S-Space> <ESC>
|
||||
nnoremap m h|xnoremap m h|onoremap m h|
|
||||
nnoremap n j|xnoremap n j|onoremap n j|
|
||||
nnoremap e k|xnoremap e k|onoremap e k|
|
||||
nnoremap i l|xnoremap i l|onoremap i l|
|
||||
nnoremap M H|xnoremap M H|onoremap M H|
|
||||
nnoremap N J|xnoremap N J|onoremap N J|
|
||||
nnoremap E K|xnoremap E K|onoremap E K|
|
||||
nnoremap I L|xnoremap I L|onoremap I L|
|
||||
nnoremap h i|xnoremap h i|onoremap h i|
|
||||
nnoremap H I|xnoremap H I|onoremap H I|
|
||||
nnoremap k n|xnoremap k n|onoremap k n|
|
||||
nnoremap K N|xnoremap K N|onoremap K N|
|
||||
nnoremap j m|xnoremap j m|onoremap j m|
|
||||
nnoremap J M|xnoremap J M|onoremap J M|
|
||||
nnoremap l e|xnoremap l e|onoremap l e|
|
||||
nnoremap L E|xnoremap L E|onoremap L E|
|
||||
nnoremap <C-s> :w<CR>
|
||||
nnoremap <M-n> :resize -2<CR>
|
||||
nnoremap <M-e> :resize +2<CR>
|
||||
nnoremap <M-m> :vertical resize -2<CR>
|
||||
nnoremap <M-i> :vertical resize +2<CR>
|
||||
nnoremap <TAB> :bnext<CR>
|
||||
nnoremap <S-TAB> :bprevious<CR>
|
||||
vnoremap < <gv
|
||||
vnoremap > >gv
|
||||
nnoremap <C-q> :bd!<CR>
|
||||
nnoremap <C-x> :bd#<CR>
|
||||
tnoremap <C-q> :bd!<CR>
|
||||
nnoremap <C-M> <C-W>h|xnoremap <C-M> <C-W>h|
|
||||
nnoremap <C-N> <C-W>j|xnoremap <C-N> <C-W>j|
|
||||
nnoremap <C-E> <C-W>k|xnoremap <C-E> <C-W>k|
|
||||
nnoremap <C-I> <C-W>l|xnoremap <C-I> <C-W>l|
|
||||
|
||||
"STATUSLINE
|
||||
"let right=""
|
||||
"let left=""
|
||||
set laststatus=2
|
||||
set statusline=
|
||||
set statusline+=%1*
|
||||
set statusline+=\ %{ModeBruh()}\
|
||||
set statusline+=%2*\%{GitBruh()}\
|
||||
set statusline+=%3*\ %f\
|
||||
set statusline+=%1*
|
||||
set statusline+=%=
|
||||
set statusline+=%3*\ %{strlen(&fenc)?&fenc:'none'}\
|
||||
set statusline+=%2*\ %y\
|
||||
let bruh="% "
|
||||
let bruh1=" "
|
||||
set statusline+=%1*\ %p%{bruh}%l/%L%{bruh1}%c\
|
||||
|
||||
hi User1 guibg=#fbf1c7 guifg=#1d2021
|
||||
hi User2 guibg=#1d2021 guifg=#fbf1c7
|
||||
hi User3 guifg=#fbf1c7 guibg=#665c54
|
||||
|
||||
function! ModeBruh()
|
||||
let l:mode=mode()
|
||||
if l:mode==#"n"
|
||||
return "NORMAL"
|
||||
elseif l:mode==?"v"
|
||||
return "VISUAL"
|
||||
elseif l:mode==#"i"
|
||||
return "INSERT"
|
||||
elseif l:mode==#"R"
|
||||
return "REPLACE"
|
||||
elseif l:mode==?"s"
|
||||
return "SELECT"
|
||||
elseif l:mode==#"t"
|
||||
return "TERMINAL"
|
||||
elseif l:mode==#"c"
|
||||
return "COMMAND"
|
||||
elseif l:mode==#"!"
|
||||
return "SHELL"
|
||||
endif
|
||||
|
||||
endfunction
|
||||
function! GitBruh()
|
||||
let l:branchname = GitBranch()
|
||||
return strlen(l:branchname) > 0?' '.l:branchname.'':''
|
||||
endfunction
|
||||
|
||||
function! GitBranch()
|
||||
return system("git rev-parse --abbrev-ref HEAD 2>/dev/null | tr -d '\n'")
|
||||
endfunction
|
||||
|
||||
|
||||
set termguicolors
|
@@ -1,19 +0,0 @@
|
||||
" I got this part of the config from Michael Lan Source = https://www.youtube.com/watch?v=I4Rz0qoWYBl
|
||||
function! TermWrapper(command) abort
|
||||
if !exists('g:split_term_style') | let g:split_term_style = 'vertical' | endif
|
||||
if g:split_term_style ==# 'vertical'
|
||||
let buffercmd = 'vnew'
|
||||
elseif g:split_term_style ==# 'horizontal'
|
||||
let buffercmd = 'new'
|
||||
else
|
||||
echoerr 'ERROR! g:split_term_style is not a valid value (must be ''horizontal'' or ''vertical'' but is currently set to ''' . g:split_term_style . ''')'
|
||||
throw 'ERROR! g:split_term_style is not a valid value (must be ''horizontal'' or ''vertical'')'
|
||||
endif
|
||||
exec buffercmd
|
||||
exec 'term ' . a:command
|
||||
exec 'startinsert'
|
||||
endfunction
|
||||
command! -nargs=0 CompileAndRun call TermWrapper(printf('g++ -std=c++17 %s && ./a.out', expand('%')))
|
||||
autocmd FileType cpp nnoremap <F5> :CompileAndRun<CR>
|
||||
|
||||
let g:split_term_style = 'vertical'
|
@@ -1,15 +0,0 @@
|
||||
{lib, config, ...}:
|
||||
{
|
||||
imports =
|
||||
[
|
||||
# <nixpkgs/nixos/modules/profiles/all-hardware.nix>
|
||||
./marisa/pkgs.nix
|
||||
./marisa/networking.nix
|
||||
./marisa/stuff.nix
|
||||
./marisa/hardware.nix
|
||||
./marisa/boot.nix
|
||||
./marisa/services.nix
|
||||
./configs/nvim.nix
|
||||
];
|
||||
system.stateVersion = "21.05";
|
||||
}
|
91
flake.lock
generated
91
flake.lock
generated
@@ -19,6 +19,22 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1606424373,
|
||||
"narHash": "sha256-oq8d4//CJOrVj+EcOaSXvMebvuTkmBJuT5tzlfewUnQ=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "99f1c2157fba4bfe6211a321fd0ee43199025dbf",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"locked": {
|
||||
"lastModified": 1600209923,
|
||||
@@ -34,6 +50,21 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"locked": {
|
||||
"lastModified": 1610051610,
|
||||
"narHash": "sha256-U9rPz/usA1/Aohhk7Cmc2gBrEEKRzcW4nwPWMPwja4Y=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "3982c9903e93927c2164caa727cd3f6a0e6d14cc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -54,6 +85,29 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"neovim-flake": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"dir": "contrib",
|
||||
"lastModified": 1622056438,
|
||||
"narHash": "sha256-9wQSoVvkUno39cAsqseMkSzIDMQDNZzA5MIYmmr61cw=",
|
||||
"owner": "neovim",
|
||||
"repo": "neovim",
|
||||
"rev": "192f89ea1bdb86e8d12a9940872f92f0fc88b300",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"dir": "contrib",
|
||||
"owner": "neovim",
|
||||
"repo": "neovim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1599148892,
|
||||
@@ -84,6 +138,22 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1621840840,
|
||||
"narHash": "sha256-o6h6+d5ZwrFmOTe+ma9s1Z9kyHsCW1C84IA8RZ9/fIU=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ea7d4aa9b8225abd6147339f0d56675d6f1f0fd1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nur": {
|
||||
"locked": {
|
||||
"lastModified": 1619994493,
|
||||
@@ -99,12 +169,33 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nvim": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"neovim-flake": "neovim-flake",
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1622104855,
|
||||
"narHash": "sha256-e+8QFAVA/umRZAOOSIj/0b+WmyRhPk7NSu7f5H7rMok=",
|
||||
"owner": "nix-community",
|
||||
"repo": "neovim-nightly-overlay",
|
||||
"rev": "823a11a8579d8d63d2eb42b2c577e6396aaf2d70",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "neovim-nightly-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"agenix": "agenix",
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nur": "nur",
|
||||
"nvim": "nvim",
|
||||
"stable": "stable",
|
||||
"utils": "utils"
|
||||
}
|
||||
|
13
flake.nix
13
flake.nix
@@ -12,14 +12,21 @@
|
||||
};
|
||||
agenix.url = github:ryantm/agenix;
|
||||
utils.url = github:numtide/flake-utils;
|
||||
nvim.url = github:nix-community/neovim-nightly-overlay;
|
||||
};
|
||||
|
||||
outputs = inputs@{self, nixpkgs, ... }:
|
||||
inputs.utils.lib.eachDefaultSystem (system:
|
||||
let
|
||||
overlays = [
|
||||
(import ./overlays/overridesandshit.nix)
|
||||
(import ./overlays/packages.nix)
|
||||
];
|
||||
in
|
||||
{
|
||||
packages = import nixpkgs {
|
||||
inherit system;
|
||||
overlays = self.overlays ++ [ inputs.nur.overlay ];
|
||||
overlays = overlays ++ [ inputs.nur.overlay inputs.nvim.overlay ];
|
||||
config.allowUnfree = true;
|
||||
config.allowBroken = true;
|
||||
};
|
||||
@@ -88,9 +95,5 @@
|
||||
];
|
||||
};
|
||||
};
|
||||
overlays = [
|
||||
(import ./overlays/overridesandshit.nix)
|
||||
(import ./overlays/packages.nix)
|
||||
];
|
||||
});
|
||||
}
|
||||
|
@@ -47,7 +47,6 @@ in
|
||||
pavucontrol
|
||||
anup
|
||||
proxychains
|
||||
cmake
|
||||
xfce.thunar
|
||||
xfce.xfconf
|
||||
xfce.tumbler
|
||||
@@ -65,6 +64,19 @@ in
|
||||
dunst
|
||||
flameshot
|
||||
youtube-dl
|
||||
xclip
|
||||
xorg.xkbcomp
|
||||
xorg.xmodmap
|
||||
p7zip
|
||||
glxinfo
|
||||
sxiv
|
||||
vim
|
||||
w3m
|
||||
feh
|
||||
dwm
|
||||
dmenu
|
||||
st
|
||||
neofetch
|
||||
];
|
||||
|
||||
file = {
|
||||
|
Binary file not shown.
@@ -1,7 +1,6 @@
|
||||
{ pkgs, config, ...}:
|
||||
{
|
||||
imports = [
|
||||
./programs/nvim.nix
|
||||
./programs/ncmpcpp.nix
|
||||
./programs/emacs.nix
|
||||
];
|
||||
|
@@ -1,5 +1,6 @@
|
||||
{ pkgs, config, ... }:
|
||||
{
|
||||
#i dont really use emacs but eh
|
||||
programs.emacs = {
|
||||
enable = true;
|
||||
extraPackages = epkgs: with epkgs; [
|
||||
|
@@ -9,10 +9,10 @@ in
|
||||
extraOptions =
|
||||
''
|
||||
shadow = true;
|
||||
shadow-radius = 7;
|
||||
shadow-offset-x = -7;
|
||||
shadow-offset-y = -7;
|
||||
blurExclude = [ "class_g = 'dwm'" ];
|
||||
shadow-radius = 20;
|
||||
shadow-offset-x = -20;
|
||||
shadow-offset-y = -20;
|
||||
blurExclude = [ "class_g = 'dwm'" ]
|
||||
|
||||
inactive-opacity = 0.92;
|
||||
active-opacity = 0.97;
|
||||
|
@@ -1,33 +0,0 @@
|
||||
{lib, config, ... }:
|
||||
|
||||
{
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa = {
|
||||
enable = true;
|
||||
support32Bit = true;
|
||||
};
|
||||
pulse = {
|
||||
enable = true;
|
||||
};
|
||||
config.pipewire = {
|
||||
context.properties = {
|
||||
default.clock.min-quantum = 8;
|
||||
};
|
||||
};
|
||||
config.pipewire-pulse = {
|
||||
context.modules = {
|
||||
pulse.min.req = "4/48000";
|
||||
pulse.min.quantum = "4/24000";
|
||||
};
|
||||
stream.properties = {
|
||||
node.latency = "4/24000";
|
||||
};
|
||||
};
|
||||
};
|
||||
sound.enable = true;
|
||||
# hardware = {
|
||||
# pulseaudio.enable = true;
|
||||
# pulseaudio.support32Bit = true;
|
||||
# };
|
||||
}
|
@@ -10,4 +10,10 @@ else
|
||||
echo "bruh"
|
||||
exit 1
|
||||
fi
|
||||
rage -o "$TARGET" -r "$(cat ~/.ssh/*.pub)" "$1"
|
||||
keys=""
|
||||
for x in ~/.ssh/*.pub
|
||||
do
|
||||
keys= "$keys -r $(cat 'x')"
|
||||
done
|
||||
echo "Encrypting with \n'$keys'"
|
||||
rage -o "$TARGET" "$keys" "$1"
|
||||
|
@@ -45,4 +45,7 @@ final: prev: {
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
});
|
||||
discord = prev.discord.overrideAttrs (_ : {
|
||||
src = builtins.fetchTarball { url = "https://discord.com/api/download/stable?platform=linux&format=tar.gz"; sha256="1ahj4bhdfd58jcqh54qcgafljqxl1747fqqwxhknqlasa83li75n";};
|
||||
});
|
||||
}
|
||||
|
@@ -8,9 +8,9 @@ diff --color -u a/config.def.h b/config.def.h
|
||||
- * font: see http://freedesktop.org/software/fontconfig/fontconfig-user.html
|
||||
*/
|
||||
-static char *font = "Liberation Mono:pixelsize=12:antialias=true:autohint=true";
|
||||
+static char *font = "Fira Mono:style=Regular:pixelsize=16";
|
||||
+static char *font2[] = { "Font Awesome 5 Free Solid:pixelsize=15",
|
||||
+ "Font Awesome 5 Brands:pixelsize=15" };
|
||||
+static char *font = "Fira Mono:style=Regular:pixelsize=20";
|
||||
+static char *font2[] = { "Font Awesome 5 Free Solid:pixelsize=18",
|
||||
+ "Font Awesome 5 Brands:pixelsize=18" };
|
||||
static int borderpx = 2;
|
||||
|
||||
/*
|
||||
|
@@ -1,5 +1,4 @@
|
||||
{ lib, config, ...}:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
@@ -9,9 +8,10 @@
|
||||
./satori/networking.nix
|
||||
./satori/boot.nix
|
||||
./satori/services.nix
|
||||
./modules/nvidia-offload.nix
|
||||
./modules/pipewire.nix
|
||||
./modules/xorg.nix
|
||||
./common/nvidia-offload.nix
|
||||
./common/pipewire.nix
|
||||
./common/xorg.nix
|
||||
./configs/nvim.nix
|
||||
];
|
||||
system.stateVersion = "20.09";
|
||||
}
|
||||
|
@@ -24,7 +24,7 @@
|
||||
useOSProber = true;
|
||||
efiSupport = true;
|
||||
device = "nodev";
|
||||
splashImage = ../modules/cirno.png;
|
||||
splashImage = ./cirno.png;
|
||||
splashMode = "stretch";
|
||||
configurationName = "nixbruh";
|
||||
};
|
||||
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB |
@@ -2,34 +2,24 @@
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
xclip
|
||||
xorg.xkbcomp
|
||||
xorg.xmodmap
|
||||
p7zip
|
||||
git
|
||||
glxinfo
|
||||
sxiv
|
||||
vim
|
||||
wineWowPackages.staging
|
||||
neofetch
|
||||
w3m
|
||||
bc
|
||||
gnumake
|
||||
pciutils
|
||||
jdk
|
||||
git
|
||||
ntfs3g
|
||||
python3
|
||||
htop
|
||||
nodejs
|
||||
wineWowPackages.staging
|
||||
wget
|
||||
ripgrep
|
||||
patchelf
|
||||
feh
|
||||
dwm
|
||||
dmenu
|
||||
st
|
||||
kbd
|
||||
cachix
|
||||
gcc
|
||||
rustc
|
||||
jdk
|
||||
];
|
||||
|
||||
programs = {
|
||||
steam.enable = true;
|
||||
gnupg = {
|
||||
@@ -41,7 +31,7 @@
|
||||
};
|
||||
zsh = {
|
||||
enable = true;
|
||||
promptInit = "PROMPT='%F{cyan}%~ %F{blue}>%f '\nRPROMPT='%F{cyan}%n%f@%F{red}%m'";
|
||||
promptInit = "PROMPT='%B%F{cyan}%~ %F{blue}〉%f%b'\nRPROMPT='%B%F{cyan}%n%f@%F{red}%m%b'";
|
||||
histSize = 12000;
|
||||
enableCompletion = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
|
@@ -21,7 +21,6 @@
|
||||
dataDir = "/var/db";
|
||||
};
|
||||
sshd.enable = true;
|
||||
|
||||
/* vault = {
|
||||
enable = true;
|
||||
storageBackend = "mysql";
|
||||
@@ -33,6 +32,7 @@
|
||||
logmein-hamachi.wantedBy = lib.mkForce [];
|
||||
sshd.wantedBy = lib.mkForce [];
|
||||
mysql.wantedBy = lib.mkForce [];
|
||||
#printing.wantedBy = lib.mkForce [];
|
||||
#vault.wantedBy = lib.mkForce [];
|
||||
};
|
||||
}
|
||||
|
@@ -4,7 +4,6 @@
|
||||
environment = {
|
||||
sessionVariables = {
|
||||
QT_X11_NO_MITSHM="1";
|
||||
EDITOR = "nvim";
|
||||
QT_QPA_PLATFORMTHEME = "gtk3";
|
||||
};
|
||||
};
|
||||
|
Reference in New Issue
Block a user