summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Kummerlaender2018-09-23 20:14:29 +0200
committerAdrian Kummerlaender2018-09-23 20:14:47 +0200
commit43bc484b4e3dc47512872e62779d7fe98fac93a1 (patch)
tree2a05d9e872a8e0508e0b27b3fd62aefac5fa3a1a
downloadpkgs-43bc484b4e3dc47512872e62779d7fe98fac93a1.tar
pkgs-43bc484b4e3dc47512872e62779d7fe98fac93a1.tar.gz
pkgs-43bc484b4e3dc47512872e62779d7fe98fac93a1.tar.bz2
pkgs-43bc484b4e3dc47512872e62779d7fe98fac93a1.tar.lz
pkgs-43bc484b4e3dc47512872e62779d7fe98fac93a1.tar.xz
pkgs-43bc484b4e3dc47512872e62779d7fe98fac93a1.tar.zst
pkgs-43bc484b4e3dc47512872e62779d7fe98fac93a1.zip
Initial import of my custom Nix derivations
-rw-r--r--default.nix19
-rw-r--r--pkgs/custom-vim/asset/rc.vim128
-rw-r--r--pkgs/custom-vim/asset/vim-color-akr/autoload/airline/themes/akr.vim86
-rw-r--r--pkgs/custom-vim/asset/vim-color-akr/colors/akr.vim93
-rw-r--r--pkgs/custom-vim/custom.nix42
-rw-r--r--pkgs/custom-vim/default.nix11
-rw-r--r--pkgs/custom-vim/plugins.nix84
-rw-r--r--pkgs/modem-manager-gui/default.nix35
-rw-r--r--pkgs/oomox-archdroid-icon-theme/default.nix29
-rw-r--r--pkgs/oomox-gtk-theme/default.nix60
-rw-r--r--pkgs/xslt/BuildXSLT/default.nix23
-rw-r--r--pkgs/xslt/InputXSLT/default.nix20
-rw-r--r--pkgs/xslt/StaticXSLT/default.nix23
-rw-r--r--pkgs/xslt/makeweb/default.nix12
14 files changed, 665 insertions, 0 deletions
diff --git a/default.nix b/default.nix
new file mode 100644
index 0000000..a04c69d
--- /dev/null
+++ b/default.nix
@@ -0,0 +1,19 @@
+{ system ? builtins.currentSystem }:
+
+let
+ pkgs = import <nixpkgs> { inherit system; };
+ callPackage = pkgs.lib.callPackageWith (pkgs // custom);
+ custom = {
+ custom-vim = callPackage ./pkgs/custom-vim { };
+
+ modem-manager-gui = callPackage ./pkgs/modem-manager-gui { };
+
+ oomox-gtk-theme = callPackage ./pkgs/oomox-gtk-theme { };
+ oomox-archdroid-icon-theme = callPackage ./pkgs/oomox-archdroid-icon-theme { };
+
+ InputXSLT = callPackage ./pkgs/xslt/InputXSLT { };
+ StaticXSLT = callPackage ./pkgs/xslt/StaticXSLT { };
+ BuildXSLT = callPackage ./pkgs/xslt/BuildXSLT { };
+ makeweb = callPackage ./pkgs/xslt/makeweb { };
+ };
+in custom
diff --git a/pkgs/custom-vim/asset/rc.vim b/pkgs/custom-vim/asset/rc.vim
new file mode 100644
index 0000000..81f48e0
--- /dev/null
+++ b/pkgs/custom-vim/asset/rc.vim
@@ -0,0 +1,128 @@
+syntax enable
+filetype plugin indent on
+
+colorscheme akr
+
+set encoding=utf-8
+set showcmd
+set nocompatible
+set nocursorline
+set number
+set lazyredraw
+set ttyfast
+set mouse=a
+set t_Co=256
+set shell=/bin/sh
+set sessionoptions-=options
+
+set directory=~/.vim/swap//,.
+
+set undofile
+set undodir=~/.vim/undo
+
+set wrap
+set tabstop=4 shiftwidth=4
+set backspace=indent,eol,start
+set linebreak
+
+set hlsearch
+set incsearch
+set ignorecase
+set smartcase
+
+set wildchar=<Tab> wildmenu wildmode=full
+
+let mapleader=","
+
+map <leader>s :let @/=""<CR>
+map <leader>c zz
+map <leader>d <c-]>
+
+nmap <backspace> :e#<CR>
+nmap f za
+nmap F zA
+
+" disable to override default on neovim
+set noautoread
+
+autocmd InsertEnter * :setlocal nohlsearch
+autocmd InsertLeave * :setlocal hlsearch
+
+autocmd FileType scheme setlocal shiftwidth=2 tabstop=2 expandtab
+autocmd FileType lisp setlocal shiftwidth=2 tabstop=2 expandtab
+autocmd FileType racket setlocal shiftwidth=2 tabstop=2 expandtab
+autocmd FileType haskell setlocal shiftwidth=2 tabstop=4 softtabstop=2 shiftround expandtab
+autocmd FileType pandoc setlocal nonumber autoread
+autocmd FileType pandoc let g:airline#extensions#whitespace#checks=['indent', 'trailing', 'long']
+autocmd FileType tex set conceallevel=2
+
+nnoremap <C-Tab> :bnext<CR>
+nnoremap <C-S-Tab> :bprev<CR>
+
+" select previous line on file reload, useful when cycling file extensions
+autocmd BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | execute "normal! g`\" zz" | endif
+nnoremap <Tab> :CounterpointNext<CR>
+nnoremap <S-Tab> :CounterpointPrevious<CR>
+
+nnoremap <C-left> gT
+nnoremap <C-right> gt
+nnoremap <space> @q
+nnoremap J }
+nnoremap K {
+
+nmap <Left> <<
+nmap <Right> >>
+vmap <Left> <gv
+vmap <Right> >gv
+
+nmap <Up> [e
+nmap <Down> ]e
+vmap <Up> [egv
+vmap <Down> ]egv
+
+nnoremap <A-left> <C-W>h
+nnoremap <A-right> <C-W>l
+nnoremap <A-up> <C-W>k
+nnoremap <A-down> <C-W>j
+
+set laststatus=2
+let g:airline_theme = 'akr'
+let g:airline#extensions#tabline#enabled = 1
+let g:airline#extensions#tabline#show_buffers = 1
+let g:airline#extensions#tabline#show_tab_type = 1
+let g:airline#extensions#tabline#fnamemod = ':t'
+let g:airline#extensions#tabline#formatter = 'unique_tail_improved'
+let g:airline#extensions#tabline#buffer_idx_mode = 0
+let g:airline#extensions#tabline#show_close_button = 0
+let g:airline#extensions#tabline#show_splits = 0
+let g:airline#extensions#tabline#show_tab_nr = 0
+let g:airline#extensions#whitespace#mixed_indent_algo = 2
+
+let g:gitgutter_enabled = 0
+let g:gitgutter_highlight_lines = 1
+
+let g:goyo_width = 90
+let g:goyo_margin_top = 1
+let g:goyo_margin_bottom = 0
+
+nnoremap <F5> :MundoToggle<CR>
+nnoremap <F6> :GitGutterToggle<CR>
+nnoremap <F7> :SignatureToggleSigns<CR>
+nnoremap <F8> :Goyo<CR>
+
+nnoremap <c-b> :CtrlPBuffer<CR>
+nnoremap <c-m> :CtrlPMixed<CR>
+nnoremap <c-t> :CtrlPTag<CR>
+nnoremap <a-t> :CtrlPBufTag<CR>
+
+let g:ctrlp_custom_ignore = {
+\ 'dir': '\.git$',
+\ 'file': '\.o$\|\.d$'
+\ }
+
+let g:undotree_SetFocusWhenToggle = 1
+
+let g:localvimrc_sandbox = 0
+let g:localvimrc_persistent = 2
+
+let g:wordmotion_prefix = '<Leader>'
diff --git a/pkgs/custom-vim/asset/vim-color-akr/autoload/airline/themes/akr.vim b/pkgs/custom-vim/asset/vim-color-akr/autoload/airline/themes/akr.vim
new file mode 100644
index 0000000..1b847c4
--- /dev/null
+++ b/pkgs/custom-vim/asset/vim-color-akr/autoload/airline/themes/akr.vim
@@ -0,0 +1,86 @@
+" Normal mode
+" [ guifg , guibg , ctermfg , ctermbg ]
+let s:N1 = [ '#161616' , '#909636' , 0 , 10 ] " mode
+let s:N2 = [ '#161616' , '#909636' , 0 , 10 ] " info
+let s:N3 = [ '#909636' , '#161616' , 10 , 0 ] " statusline
+let s:N4 = [ '#352F6A' , 4 ] " mode modified
+
+" Insert mode
+let s:I1 = [ '#E4E093' , '#352F6A' , 3 , 4 ]
+let s:I2 = [ '#E4E093' , '#352F6A' , 3 , 4 ]
+let s:I3 = [ '#909636' , '#161616' , 10 , 0 ]
+let s:I4 = [ '#352F6A' , 4 ]
+
+" Visual mode
+let s:V1 = [ '#E4E093' , '#8C3346' , 3 , 1 ]
+let s:V2 = [ '#E4E093' , '#8C3346' , 3 , 1 ]
+let s:V3 = [ '#909636' , '#161616' , 10 , 0 ]
+let s:V4 = [ '#352F6A' , 4 ]
+
+" Replace mode
+let s:R1 = [ '#E4E093' , '#352F6A' , 3 , 4 ]
+let s:R2 = [ '#E4E093' , '#352F6A' , 3 , 4 ]
+let s:R3 = [ '#909636' , '#161616' , 10 , 0 ]
+let s:R4 = [ '#352F6A' , 4 ]
+
+" Paste mode
+let s:PA = [ '#352F6A' , 4 ]
+
+" Info modified
+let s:IM = [ '#909636' , 10 ]
+
+" Inactive mode
+let s:IA = [ '#767676' , s:N3[1] , 243 , s:N3[3] , '' ]
+
+let g:airline#themes#akr#palette = {}
+
+let g:airline#themes#akr#palette.accents = {
+ \ 'red': [ '#8C3346' , '' , 1 , '' , '' ],
+ \ }
+
+let g:airline#themes#akr#palette.normal = airline#themes#generate_color_map(s:N1, s:N2, s:N3)
+let g:airline#themes#akr#palette.normal_modified = {
+ \ 'airline_a': [ s:N1[0] , s:N4[0] , s:N1[2] , s:N4[1] , '' ] ,
+ \ 'airline_b': [ s:N4[0] , s:IM[0] , s:N4[1] , s:IM[1] , '' ] ,
+ \ 'airline_c': [ s:N4[0] , s:N3[1] , s:N4[1] , s:N3[3] , '' ] }
+
+
+let g:airline#themes#akr#palette.insert = airline#themes#generate_color_map(s:I1, s:I2, s:I3)
+let g:airline#themes#akr#palette.insert_modified = {
+ \ 'airline_a': [ s:I1[0] , s:I4[0] , s:I1[2] , s:I4[1] , '' ] ,
+ \ 'airline_b': [ s:I4[0] , s:IM[0] , s:I4[1] , s:IM[1] , '' ] ,
+ \ 'airline_c': [ s:I4[0] , s:N3[1] , s:I4[1] , s:N3[3] , '' ] }
+
+
+let g:airline#themes#akr#palette.visual = airline#themes#generate_color_map(s:V1, s:V2, s:V3)
+let g:airline#themes#akr#palette.visual_modified = {
+ \ 'airline_a': [ s:V1[0] , s:V4[0] , s:V1[2] , s:V4[1] , '' ] ,
+ \ 'airline_b': [ s:V4[0] , s:IM[0] , s:V4[1] , s:IM[1] , '' ] ,
+ \ 'airline_c': [ s:V4[0] , s:N3[1] , s:V4[1] , s:N3[3] , '' ] }
+
+
+let g:airline#themes#akr#palette.replace = airline#themes#generate_color_map(s:R1, s:R2, s:R3)
+let g:airline#themes#akr#palette.replace_modified = {
+ \ 'airline_a': [ s:R1[0] , s:R4[0] , s:R1[2] , s:R4[1] , '' ] ,
+ \ 'airline_b': [ s:R4[0] , s:IM[0] , s:R4[1] , s:IM[1] , '' ] ,
+ \ 'airline_c': [ s:R4[0] , s:N3[1] , s:R4[1] , s:N3[3] , '' ] }
+
+
+let g:airline#themes#akr#palette.insert_paste = {
+ \ 'airline_a': [ s:I1[0] , s:PA[0] , s:I1[2] , s:PA[1] , '' ] ,
+ \ 'airline_b': [ s:PA[0] , s:IM[0] , s:PA[1] , s:IM[1] , '' ] ,
+ \ 'airline_c': [ s:PA[0] , s:N3[1] , s:PA[1] , s:N3[3] , '' ] }
+
+
+let g:airline#themes#akr#palette.inactive = airline#themes#generate_color_map(s:IA, s:IA, s:IA)
+let g:airline#themes#akr#palette.inactive_modified = {
+ \ 'airline_c': [ s:N4[0] , '' , s:N4[1] , '' , '' ] }
+
+
+if !get(g:, 'loaded_ctrlp', 0)
+ finish
+endif
+let g:airline#themes#akr#palette.ctrlp = airline#extensions#ctrlp#generate_color_map(
+ \ [ '#909636' , '#161616' , 10 , 0 , '' ] ,
+ \ [ '#909636' , '#161616' , 10 , 0 , '' ] ,
+ \ [ '#161616' , '#909636' , 0 , 10 , 'bold' ] )
diff --git a/pkgs/custom-vim/asset/vim-color-akr/colors/akr.vim b/pkgs/custom-vim/asset/vim-color-akr/colors/akr.vim
new file mode 100644
index 0000000..4ffd2ca
--- /dev/null
+++ b/pkgs/custom-vim/asset/vim-color-akr/colors/akr.vim
@@ -0,0 +1,93 @@
+hi clear
+syntax reset
+let background = "dark"
+let g:colors_name = "akr"
+
+hi Normal cterm=NONE gui=NONE ctermfg=7 guifg=#F2F2F2 ctermbg=0 guibg=#161616
+hi NonText cterm=NONE gui=NONE ctermfg=0 guifg=#161616 ctermbg=0 guibg=#161616
+hi LineNr cterm=NONE gui=NONE ctermfg=241 guifg=#606060 ctermbg=NONE guibg=NONE
+
+hi Cursor cterm=reverse gui=reverse ctermfg=NONE guifg=NONE ctermbg=NONE guibg=NONE
+hi CursorLine cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=235 guibg=#262626
+hi CursorLineNr cterm=NONE gui=NONE ctermfg=2 guifg=#AADB0F ctermbg=235 guibg=#262626
+hi CursorColumn cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=8 guibg=#F2F2F2
+hi ColorColumn cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=2 guibg=#AADB0F
+hi SignColumn cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=2 guibg=#AADB0F
+
+hi TabLine cterm=NONE gui=NONE ctermfg=10 guifg=#909636 ctermbg=0 guibg=#161616
+hi TabLineFill cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=7 guibg=#F2F2F2
+hi TabLineSel cterm=NONE gui=NONE ctermfg=0 guifg=#161616 ctermbg=10 guibg=#909636
+hi StatusLine cterm=NONE gui=NONE ctermfg=10 guifg=#909636 ctermbg=235 guibg=#262626
+hi StatusLineNC cterm=NONE gui=NONE ctermfg=10 guifg=#909636 ctermbg=0 guibg=#161616
+hi VertSplit cterm=NONE gui=NONE ctermfg=235 guifg=#262626 ctermbg=235 guibg=#262626
+hi Visual cterm=NONE gui=NONE ctermfg=3 guifg=#E4E093 ctermbg=1 guibg=#8C3346
+hi VisualNOS cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=NONE guibg=NONE
+
+hi Pmenu cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=232 guibg=#080808
+hi PmenuSbar cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=235 guibg=#262626
+hi PmenuSel cterm=NONE gui=NONE ctermfg=2 guifg=#AADB0F ctermbg=241 guibg=#606060
+hi PmenuThumb cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=247 guibg=#9e9e9e
+
+hi DiffAdd cterm=NONE gui=NONE ctermfg=0 guifg=#161616 ctermbg=10 guibg=#909636
+hi DiffChange cterm=NONE gui=NONE ctermfg=0 guifg=#161616 ctermbg=3 guibg=#E4E093
+hi DiffDelete cterm=NONE gui=NONE ctermfg=0 guifg=#161616 ctermbg=1 guibg=#8C3346
+hi DiffText cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=4 guibg=#352F6A
+
+hi Search cterm=NONE gui=NONE ctermfg=0 guifg=#161616 ctermbg=10 guibg=#909636
+hi IncSearch cterm=NONE gui=NONE ctermfg=0 guifg=#161616 ctermbg=2 guibg=#AADB0F
+
+hi Comment cterm=NONE gui=italic ctermfg=7 guifg=#F2F2F2 ctermbg=NONE guibg=NONE
+hi Type cterm=NONE gui=NONE ctermfg=2 guifg=#AADB0F ctermbg=NONE guibg=NONE
+hi Boolean cterm=NONE gui=NONE ctermfg=2 guifg=#AADB0F ctermbg=NONE guibg=NONE
+hi String cterm=NONE gui=NONE ctermfg=2 guifg=#AADB0F ctermbg=NONE guibg=NONE
+hi Number cterm=NONE gui=NONE ctermfg=2 guifg=#AADB0F ctermbg=NONE guibg=NONE
+hi Title cterm=bold gui=bold ctermfg=2 guifg=#AADB0F ctermbg=NONE guibg=NONE
+hi Constant cterm=bold gui=italic ctermfg=7 guifg=#F2F2F2 ctermbg=NONE guibg=NONE
+hi Identifier cterm=bold gui=bold ctermfg=7 guifg=#F2F2F2 ctermbg=0 guibg=#161616
+hi Statement cterm=bold gui=bold ctermfg=2 guifg=#AADB0F ctermbg=NONE guibg=NONE
+hi StorageClass cterm=bold gui=bold ctermfg=2 guifg=#AADB0F ctermbg=NONE guibg=NONE
+hi Conditional cterm=bold gui=bold ctermfg=2 guifg=#AADB0F ctermbg=NONE guibg=NONE
+
+hi MatchParen cterm=bold gui=bold ctermfg=0 guifg=#161616 ctermbg=2 guibg=#AADB0F
+hi Special cterm=NONE gui=NONE ctermfg=7 guifg=#F2F2F2 ctermbg=NONE guibg=NONE
+hi Tabs cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=235 guibg=#262626
+hi ColorColumn cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=7 guibg=#F2F2F2
+hi Conceal cterm=NONE gui=NONE ctermfg=7 guifg=#F2F2F2 ctermbg=NONE guibg=NONE
+hi Directory cterm=NONE gui=NONE ctermfg=7 guifg=#F2F2F2 ctermbg=NONE guibg=NONE
+hi Error cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=1 guibg=#8C3346
+hi ErrorMsg cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=1 guibg=#8C3346
+hi FoldColumn cterm=NONE gui=NONE ctermfg=7 guifg=#F2F2F2 ctermbg=NONE guibg=NONE
+hi Folded cterm=NONE gui=NONE ctermfg=7 guifg=#F2F2F2 ctermbg=NONE guibg=NONE
+hi Ignore cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=NONE guibg=NONE
+hi ModeMsg cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=NONE guibg=NONE
+hi MoreMsg cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=NONE guibg=NONE
+hi Question cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=NONE guibg=NONE
+hi SignColumn cterm=NONE gui=NONE ctermfg=7 guifg=#F2F2F2 ctermbg=NONE guibg=NONE
+hi Underlined cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=NONE guibg=NONE
+hi WarningMsg cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=9 guibg=#FF0000
+hi WildMenu cterm=NONE gui=NONE ctermfg=0 guifg=#161616 ctermbg=10 guibg=#909636
+hi PreProc cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=NONE guibg=NONE
+
+hi xmlTagName cterm=NONE gui=NONE ctermfg=7 guifg=#F2F2F2 ctermbg=NONE guibg=NONE
+hi xmlEndTag cterm=NONE gui=NONE ctermfg=7 guifg=#F2F2F2 ctermbg=NONE guibg=NONE
+hi xmlNamespace cterm=bold gui=bold ctermfg=7 guifg=#F2F2F2 ctermbg=NONE guibg=NONE
+hi xmlAttrib cterm=NONE gui=NONE ctermfg=7 guifg=#F2F2F2 ctermbg=NONE guibg=NONE
+
+hi texSection cterm=bold gui=bold ctermfg=2 guifg=#AADB0F ctermbg=NONE guibg=NONE
+hi texMathZoneX cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=8 guibg=#000000
+hi texMathText cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=8 guibg=#000000
+hi texMathSymbol cterm=bold gui=bold ctermfg=NONE guifg=NONE ctermbg=8 guibg=#000000
+hi texMathOper cterm=bold gui=bold ctermfg=2 guifg=#AADB0F ctermbg=8 guibg=#000000
+hi texMathMatcher cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=8 guibg=#000000
+hi texTypeStyle cterm=bold gui=bold ctermfg=NONE guifg=NONE ctermbg=8 guibg=#000000
+hi texStatement cterm=bold gui=bold ctermfg=NONE guifg=NONE ctermbg=NONE guibg=NONE
+hi texGreek cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=8 guibg=#000000
+hi texBeginEnd cterm=NONE gui=NONE ctermfg=2 guifg=#AADB0F ctermbg=NONE guibg=NONE
+hi texSubscript cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=8 guibg=#000000
+hi texSuperscript cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=8 guibg=#000000
+hi texBeginEndName cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=NONE guibg=NONE
+hi Conceal cterm=NONE gui=NONE ctermfg=NONE guifg=NONE ctermbg=8 guibg=#000000
+
+hi prologClauseHead cterm=NONE gui=NONE ctermfg=2 guifg=#AADB0F ctermbg=NONE guibg=NONE
+
+match Tabs /[\t]\+/
diff --git a/pkgs/custom-vim/custom.nix b/pkgs/custom-vim/custom.nix
new file mode 100644
index 0000000..4719b72
--- /dev/null
+++ b/pkgs/custom-vim/custom.nix
@@ -0,0 +1,42 @@
+{ pkgs }:
+
+let
+ vimrc = builtins.readFile ./asset/rc.vim;
+ plugins = pkgs.callPackage ./plugins.nix {};
+in
+{
+ vam = {
+ knownPlugins = pkgs.vimPlugins // plugins;
+ pluginDictionaries = [
+ { names = [
+ # UI enhancements
+ "vim-airline"
+ "goyo"
+ "vim-toggle-ui-elements"
+ # load project specific config
+ "vim-localvimrc"
+ # colors, syntax highlighting
+ "vim-color-akr"
+ "vim-polyglot"
+ "vim-addon-nix"
+ # file, buffer management
+ "ctrlp"
+ "vim-counterpoint"
+ "vim-signature"
+ # undo history tree
+ "vim-mundo"
+ # editing enhancements
+ "vim-wordmotion"
+ "vim-autoformat"
+ "surround"
+ "vim-unimpaired"
+ "vim-far"
+ # git integration
+ "fugitive"
+ "vim-gitgutter"
+ "vim-gina"
+ ];}
+ ];
+ };
+ customRC = vimrc;
+}
diff --git a/pkgs/custom-vim/default.nix b/pkgs/custom-vim/default.nix
new file mode 100644
index 0000000..b4a8070
--- /dev/null
+++ b/pkgs/custom-vim/default.nix
@@ -0,0 +1,11 @@
+{ pkgs, ... }:
+
+let
+ custom-vim = pkgs.vim_configurable.customize {
+ name = "vim";
+ vimrcConfig = (import ./custom.nix { pkgs = pkgs; });
+ };
+in pkgs.lib.overrideDerivation custom-vim ( o: {
+ gui = false;
+ multibyteSupport = true;
+} )
diff --git a/pkgs/custom-vim/plugins.nix b/pkgs/custom-vim/plugins.nix
new file mode 100644
index 0000000..87abea4
--- /dev/null
+++ b/pkgs/custom-vim/plugins.nix
@@ -0,0 +1,84 @@
+{ pkgs, fetchgit }:
+
+let
+ buildVimPlugin = pkgs.vimUtils.buildVimPluginFrom2Nix;
+in {
+
+ "vim-unimpaired" = buildVimPlugin {
+ name = "vim-unimpaired";
+ src = fetchgit {
+ url = "https://github.com/tpope/vim-unimpaired";
+ rev = "bacf1543cc957d47aa70c1dc0bcf99392925b008";
+ sha256 = "0jx9xybjswnaa6v7hhfqm2nyd5v54xjd02ikw56wm7h6sfgchllx";
+ };
+ };
+
+ "vim-counterpoint" = buildVimPlugin {
+ name = "vim-counterpoint";
+ src = fetchgit {
+ url = "https://github.com/jpetrie/vim-counterpoint";
+ rev = "93d8fd9d18a378ab3db39411300716129358211c";
+ sha256 = "02spr4mhj2035q45j8bf502jgpq76a518nv913zx46byfbl69lps";
+ };
+ };
+
+ "vim-mundo" = buildVimPlugin {
+ name = "vim-mundo";
+ src = fetchgit {
+ url = "https://github.com/simnalamburt/vim-mundo";
+ rev = "v3.0.1";
+ sha256 = "052ywnd5r6ksiz1lsyqya9b94fdb0gr7krkdpc1gw1fx11qk5x2v";
+ };
+ };
+
+ "vim-toggle-ui-elements" = buildVimPlugin {
+ name = "vim-toggle-ui-elements";
+ src = fetchgit {
+ url = "https://github.com/muellan/vim-toggle-ui-elements";
+ rev = "325f60fe8030cc2a2312d67191f214c5c39ef283";
+ sha256 = "0fl9kvp799l3nzy8lnjcb0y1hr3g1ba8n9v2mx83yaqdma0rvhi1";
+ };
+ };
+
+ "vim-git-commit-viewer" = buildVimPlugin {
+ name = "vim-git-commit-viewer";
+ src = fetchgit {
+ url = "https://github.com/junegunn/gv.vim";
+ rev = "7ee1ca8201a0e9f95ba5dd3ec344e3ce71d61d8e";
+ sha256 = "0r0j8l0sm3xgb3hgmf0zm48mgj97nlkspg3jgv817nhwsl8pyc44";
+ };
+ };
+
+ "vim-far" = buildVimPlugin {
+ name = "vim-far";
+ src = fetchgit {
+ url = "https://github.com/brooth/far.vim.git";
+ rev = "5f8016e1df98b1f806e6347728dc012ae59579ab";
+ sha256 = "15pcsd039srfvrj2a6f3ns8zh13vrbdx93pcyxzxd8i0vidshkmb";
+ };
+ };
+
+ "vim-wordmotion" = buildVimPlugin {
+ name = "vim-wordmotion";
+ src = fetchgit {
+ url = "https://github.com/chaoren/vim-wordmotion.git";
+ rev = "d8cd124a6e36f38f52a43cb9f144eddbc03d300f";
+ sha256 = "04ag0ilv8v5h823p685aic9rm8b1l44cs4j5xx4zv1ljg95fx68n";
+ };
+ };
+
+ "vim-gina" = buildVimPlugin {
+ name = "vim-gina";
+ src = fetchgit {
+ url = "https://github.com/lambdalisue/gina.vim.git";
+ rev = "v0.3.2";
+ sha256 = "06m9cb04qsk49jri3cyw1gr3q71r048pzym10zlqgzsl1jsnvalv";
+ };
+ };
+
+ "vim-color-akr" = buildVimPlugin {
+ name = "vim-color-akr";
+ src = ./asset/vim-color-akr;
+ };
+
+}
diff --git a/pkgs/modem-manager-gui/default.nix b/pkgs/modem-manager-gui/default.nix
new file mode 100644
index 0000000..50d64a8
--- /dev/null
+++ b/pkgs/modem-manager-gui/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, pkgs, ... }:
+
+stdenv.mkDerivation rec {
+ name = "modem-manager-gui";
+
+ src = pkgs.fetchhg {
+ url = "https://linuxonly@bitbucket.org/linuxonly/modem-manager-gui";
+ rev = "5c6456f";
+ };
+
+ # required for locale generation
+ LANG = "en_US.UTF-8";
+ LOCALE_ARCHIVE = "${pkgs.glibcLocales}/lib/locale/locale-archive";
+ # required to get Po4a to work
+ PERL5LIB="${pkgs.perlPackages.Po4a}/lib/perl5";
+
+ buildInputs = with pkgs; [
+ pkgconfig
+ gtk3
+ glib
+ gdbm
+ perlPackages.Po4a
+ itstool
+ libappindicator-gtk3
+ meson
+ gettext
+ ninja
+ ];
+
+ meta = {
+ description = "modem-manager-gui";
+ homepage = https://linuxonly.ru/page/modem-manager-gui;
+ license = stdenv.lib.licenses.gpl3;
+ };
+}
diff --git a/pkgs/oomox-archdroid-icon-theme/default.nix b/pkgs/oomox-archdroid-icon-theme/default.nix
new file mode 100644
index 0000000..764bf2f
--- /dev/null
+++ b/pkgs/oomox-archdroid-icon-theme/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, pkgs, color, ... }:
+
+stdenv.mkDerivation rec {
+ name = "oomox-archdroid-icon-theme";
+
+ src = pkgs.fetchFromGitHub {
+ repo = "archdroid-icon-theme";
+ owner = "themix-project";
+ rev = "6dc4c92689ea2ce99534d6f461283efdf8ffd270";
+ sha256 = "073iwaamzrmj0l6h4gzmbnmazq16lgpc027mr3l778b35qwwraq5";
+ };
+
+ postPatch = ''
+ patchShebangs .
+ '';
+
+ installPhase = ''
+ HOME="$out/share/icons"
+ sed -i "66s/\.icons\///" change_color.sh
+ ./change_color.sh --output oomox-archdroid --color ${color}
+ '';
+
+ meta = {
+ description = "oomox-archdroid-icon-theme is a customizable fork of archdroid-icon-theme";
+ homepage = https://github.com/themix-project/archdroid-icon-theme;
+ license = stdenv.lib.licenses.gpl3;
+ platforms = stdenv.lib.platforms.all;
+ };
+}
diff --git a/pkgs/oomox-gtk-theme/default.nix b/pkgs/oomox-gtk-theme/default.nix
new file mode 100644
index 0000000..3e3f542
--- /dev/null
+++ b/pkgs/oomox-gtk-theme/default.nix
@@ -0,0 +1,60 @@
+{ stdenv, pkgs, theme, ... }:
+
+stdenv.mkDerivation rec {
+ name = "oomox-gtk-theme";
+
+ src = pkgs.fetchFromGitHub {
+ repo = "oomox-gtk-theme";
+ owner = "themix-project";
+ rev = "aa9081b2899d7e8ba8ae47543173d2d9f0f13921";
+ sha256 = "1yxhd6d61npx43qwa6gyvrwmivv42k3d6qn54q276aihwxlbgj4r";
+ };
+
+ nativeBuildInputs = with pkgs; [ librsvg glib libxml2 gdk_pixbuf bc sass sassc ];
+ propagatedUserEnvPkgs = with pkgs; [ gtk-engine-murrine ];
+
+ config = with theme; ''
+ ACCENT_BG=${accent_bg}
+ BG=${bg}
+ FG=${fg}
+ BTN_BG=${btn_bg}
+ BTN_FG=${btn_fg}
+ CARET1_FG=${caret1_fg}
+ CARET2_FG=${caret2_fg}
+ HDR_BTN_BG=${hdr_btn_bg}
+ HDR_BTN_FG=${hdr_btn_fg}
+ MENU_BG=${menu_bg}
+ MENU_FG=${menu_fg}
+ SEL_BG=${sel_bg}
+ SEL_FG=${sel_fg}
+ TXT_BG=${txt_bg}
+ TXT_FG=${txt_fg}
+ WM_BORDER_FOCUS=${wm_border_focus}
+ WM_BORDER_UNFOCUS=${wm_border_unfocus}
+ GTK3_GENERATE_DARK=${if gtk3_generate_dark then "True" else "False"}
+ CARET_SIZE=${toString caret_size}
+ GRADIENT=${toString gradient}
+ ROUNDNESS=${toString roundness}
+ SPACING=${toString spacing}
+ '';
+
+ postPatch = ''
+ patchShebangs .
+ '';
+
+ buildPhase = ''
+ HOME="$out/share/themes/oomox"
+ ./change_color.sh --make-opts all --target-dir "$out/share/themes" --output oomox <(echo -e "${config}")
+ '';
+
+ installPhase = ''
+ cd oomox-gtk-theme-*
+ '';
+
+ meta = {
+ description = "oomox-gtk-theme is a customizable fork of numix-gtk-theme.";
+ homepage = https://github.com/themix-project/oomox-gtk-theme;
+ license = stdenv.lib.licenses.gpl3;
+ platforms = stdenv.lib.platforms.all;
+ };
+}
diff --git a/pkgs/xslt/BuildXSLT/default.nix b/pkgs/xslt/BuildXSLT/default.nix
new file mode 100644
index 0000000..4e5dcb6
--- /dev/null
+++ b/pkgs/xslt/BuildXSLT/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+ name = "BuildXSLT";
+
+ src = fetchFromGitHub {
+ owner = "KnairdA";
+ repo = "BuildXSLT";
+ rev = "master";
+ sha256 = "09kxhvhzn0r62l39zgj1kc21rb565fnc1y3sg48p4gi4v15xjmc6";
+ };
+
+ installPhase = ''
+ mkdir $out
+ cp -r * $out/
+ '';
+
+ meta = with stdenv.lib; {
+ description = "BuildXSLT";
+ homepage = https://github.com/KnairdA/BuildXSLT/;
+ license = stdenv.lib.licenses.mit;
+ };
+}
diff --git a/pkgs/xslt/InputXSLT/default.nix b/pkgs/xslt/InputXSLT/default.nix
new file mode 100644
index 0000000..a85bc37
--- /dev/null
+++ b/pkgs/xslt/InputXSLT/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchFromGitHub, cmake, boost, xalanc, xercesc, discount }:
+
+stdenv.mkDerivation rec {
+ name = "InputXSLT";
+
+ src = fetchFromGitHub {
+ owner = "KnairdA";
+ repo = "InputXSLT";
+ rev = "master";
+ sha256 = "1j9fld3sh1jyscnsx6ab9jn5x6q67rjh9p3bgsh5na1qrs40dql0";
+ };
+
+ buildInputs = [ cmake boost xalanc xercesc discount ];
+
+ meta = with stdenv.lib; {
+ description = "InputXSLT";
+ homepage = https://github.com/KnairdA/InputXSLT/;
+ license = stdenv.lib.licenses.asl20;
+ };
+}
diff --git a/pkgs/xslt/StaticXSLT/default.nix b/pkgs/xslt/StaticXSLT/default.nix
new file mode 100644
index 0000000..3caee06
--- /dev/null
+++ b/pkgs/xslt/StaticXSLT/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+ name = "StaticXSLT";
+
+ src = fetchFromGitHub {
+ owner = "KnairdA";
+ repo = "StaticXSLT";
+ rev = "master";
+ sha256 = "17gd181cw9yyc4h1fn7fikcgm8g7fdwm7d7fxwib4aynm18kwqad";
+ };
+
+ installPhase = ''
+ mkdir $out
+ cp -r * $out/
+ '';
+
+ meta = with stdenv.lib; {
+ description = "StaticXSLT";
+ homepage = https://github.com/KnairdA/StaticXSLT/;
+ license = stdenv.lib.licenses.mit;
+ };
+}
diff --git a/pkgs/xslt/makeweb/default.nix b/pkgs/xslt/makeweb/default.nix
new file mode 100644
index 0000000..0527bbc
--- /dev/null
+++ b/pkgs/xslt/makeweb/default.nix
@@ -0,0 +1,12 @@
+{ pkgs, ... }:
+
+let
+ InputXSLT = pkgs.callPackage ../InputXSLT { };
+ StaticXSLT = pkgs.callPackage ../StaticXSLT { };
+ BuildXSLT = pkgs.callPackage ../BuildXSLT { };
+in pkgs.writeScriptBin
+ "makeweb"
+ ''
+ #!/bin/sh
+ ${InputXSLT}/bin/ixslt --input make.xml --transformation ${BuildXSLT}/build.xsl --include ${StaticXSLT}/
+ ''