*: mv {,nixos}-configuration, restructure vim pkgs
This commit is contained in:
parent
24ad0d3bc0
commit
927d3930a2
24 changed files with 338 additions and 531 deletions
|
@ -1,211 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
let
|
|
||||||
gitpkgs = import <gitpkgs> {};
|
|
||||||
commonPkgs = with pkgs; [
|
|
||||||
xsel
|
|
||||||
];
|
|
||||||
|
|
||||||
goPkgs = with gitpkgs; [
|
|
||||||
go_1_6
|
|
||||||
gotools.bin
|
|
||||||
# godef.bin
|
|
||||||
godep
|
|
||||||
# go-errcheck.bin
|
|
||||||
];
|
|
||||||
pythonPkgs = with pkgs.python2Packages; [
|
|
||||||
];
|
|
||||||
|
|
||||||
in {
|
|
||||||
environment.systemPackages = commonPkgs ++ goPkgs ++ pythonPkgs ++ [
|
|
||||||
(pkgs.neovim.override {
|
|
||||||
vimAlias = true;
|
|
||||||
configure = {
|
|
||||||
# add custom .vimrc lines like this:
|
|
||||||
customRC = ''
|
|
||||||
set nocompatible
|
|
||||||
|
|
||||||
" leader
|
|
||||||
let mapleader = ','
|
|
||||||
|
|
||||||
set hidden
|
|
||||||
syntax on
|
|
||||||
set hlsearch
|
|
||||||
set number
|
|
||||||
|
|
||||||
" mappings to stop insert mode
|
|
||||||
imap jjj <ESC>
|
|
||||||
imap kkk <ESC>
|
|
||||||
imap lll <ESC>
|
|
||||||
imap hhh <ESC>
|
|
||||||
set scroll=11
|
|
||||||
|
|
||||||
noremap <C-n> :tabn<CR>
|
|
||||||
noremap <C-p> :tabp<CR>
|
|
||||||
let g:ctrlp_map = '<tab>'
|
|
||||||
set wildignore+=*/site/*,*.so,*.swp,*.zip
|
|
||||||
let g:ctrlp_custom_ignore = {
|
|
||||||
\ 'dir': '\v[\/]\.(git|hg|svn|)$$',
|
|
||||||
\ 'file': '\v\.(exe|so|dll)$$',
|
|
||||||
\ }
|
|
||||||
|
|
||||||
"let g:ctrlp_match_func = { 'match': 'pymatcher#PyMatch' }
|
|
||||||
"let g:pydiction_location = '~/.vim/bundle/pydiction/complete-dict'
|
|
||||||
|
|
||||||
" allways show status line
|
|
||||||
set ls=2
|
|
||||||
set tabstop=4
|
|
||||||
set shiftwidth=4
|
|
||||||
set softtabstop=4
|
|
||||||
set expandtab
|
|
||||||
"set textwidth=80
|
|
||||||
|
|
||||||
let g:tagbar_type_go = {
|
|
||||||
\ 'ctagstype' : 'go',
|
|
||||||
\ 'kinds' : [
|
|
||||||
\ 'p:package',
|
|
||||||
\ 'i:imports:1',
|
|
||||||
\ 'c:constants',
|
|
||||||
\ 'v:variables',
|
|
||||||
\ 't:types',
|
|
||||||
\ 'n:interfaces',
|
|
||||||
\ 'w:fields',
|
|
||||||
\ 'e:embedded',
|
|
||||||
\ 'm:methods',
|
|
||||||
\ 'r:constructor',
|
|
||||||
\ 'f:functions'
|
|
||||||
\ ],
|
|
||||||
\ 'sro' : '.',
|
|
||||||
\ 'kind2scope' : {
|
|
||||||
\ 't' : 'ctype',
|
|
||||||
\ 'n' : 'ntype'
|
|
||||||
\ },
|
|
||||||
\ 'scope2kind' : {
|
|
||||||
\ 'ctype' : 't',
|
|
||||||
\ 'ntype' : 'n'
|
|
||||||
\ },
|
|
||||||
\ 'ctagsbin' : 'gotags',
|
|
||||||
\ 'ctagsargs' : '-sort -silent'
|
|
||||||
\ }
|
|
||||||
|
|
||||||
" syntastic {
|
|
||||||
au FileType qf setlocal wrap linebreak
|
|
||||||
let g:syntastic_always_populate_loc_list = 1
|
|
||||||
let g:syntastic_auto_loc_list = 0
|
|
||||||
let g:syntastic_check_on_open = 1
|
|
||||||
let g:syntastic_check_on_wq = 0
|
|
||||||
if has("gui_running")
|
|
||||||
set mouse=a
|
|
||||||
else
|
|
||||||
set mouse=
|
|
||||||
endif
|
|
||||||
|
|
||||||
set wildignore+=*/site/*,*.so,*.swp,*.zip
|
|
||||||
let g:ctrlp_custom_ignore = {
|
|
||||||
\ 'dir': '\v[\/]\.(git|hg|svn|)$$',
|
|
||||||
\ 'file': '\v\.(exe|so|dll)$$',
|
|
||||||
\ }
|
|
||||||
" }
|
|
||||||
|
|
||||||
" spelling {{{
|
|
||||||
au BufRead,BufNewFile *.md,*.markdown setlocal spell spelllang=en_us,de_de
|
|
||||||
" }}}
|
|
||||||
|
|
||||||
" sync default register to clipboard {
|
|
||||||
if has('unnamedplus')
|
|
||||||
set clipboard=unnamedplus
|
|
||||||
else
|
|
||||||
set clipboard=unnamed
|
|
||||||
endif
|
|
||||||
" }
|
|
||||||
|
|
||||||
" colored brackets {
|
|
||||||
let g:rbpt_colorpairs = [
|
|
||||||
\ ['brown', 'RoyalBlue3'],
|
|
||||||
\ ['Darkblue', 'SeaGreen3'],
|
|
||||||
\ ['darkgray', 'DarkOrchid3'],
|
|
||||||
\ ['darkgreen', 'firebrick3'],
|
|
||||||
\ ['darkcyan', 'RoyalBlue3'],
|
|
||||||
\ ['darkred', 'SeaGreen3'],
|
|
||||||
\ ['darkmagenta', 'DarkOrchid3'],
|
|
||||||
\ ['brown', 'firebrick3'],
|
|
||||||
\ ['gray', 'RoyalBlue3'],
|
|
||||||
\ ['black', 'SeaGreen3'],
|
|
||||||
\ ['darkmagenta', 'DarkOrchid3'],
|
|
||||||
\ ['Darkblue', 'firebrick3'],
|
|
||||||
\ ['darkgreen', 'RoyalBlue3'],
|
|
||||||
\ ['darkcyan', 'SeaGreen3'],
|
|
||||||
\ ['darkred', 'DarkOrchid3'],
|
|
||||||
\ ['red', 'firebrick3'],
|
|
||||||
\ ]
|
|
||||||
let g:rbpt_max = 16
|
|
||||||
let g:rbpt_loadcmd_toggle = 0
|
|
||||||
|
|
||||||
au VimEnter * RainbowParenthesesToggle
|
|
||||||
au Syntax * RainbowParenthesesLoadRound
|
|
||||||
au Syntax * RainbowParenthesesLoadSquare
|
|
||||||
au Syntax * RainbowParenthesesLoadBraces
|
|
||||||
" }
|
|
||||||
|
|
||||||
set t_ut=
|
|
||||||
colorscheme PaperColor
|
|
||||||
|
|
||||||
" Python {{{
|
|
||||||
augroup ft_python
|
|
||||||
au!
|
|
||||||
au FileType python setlocal omnifunc=pythoncomplete#Complete
|
|
||||||
au FileType python setlocal define=^\s*\\(def\\\\|class\\)
|
|
||||||
augroup END
|
|
||||||
" }}}
|
|
||||||
|
|
||||||
" YAML {{{
|
|
||||||
augroup ft_yaml
|
|
||||||
au!
|
|
||||||
setlocal autoindent sw=2 et tabstop=2 shiftwidth=2 softtabstop=2
|
|
||||||
augroup END
|
|
||||||
" }}}
|
|
||||||
|
|
||||||
" vim-go {
|
|
||||||
let g:go_highlight_functions = 1
|
|
||||||
let g:go_highlight_methods = 1
|
|
||||||
let g:go_highlight_structs = 1
|
|
||||||
let g:go_highlight_interfaces = 1
|
|
||||||
let g:go_highlight_operators = 1
|
|
||||||
let g:go_highlight_build_constraints = 1
|
|
||||||
let g:go_fmt_command = 'gofmt'
|
|
||||||
let g:go_fmt_options= '-s'
|
|
||||||
let g:go_def_mode = 'godef'
|
|
||||||
let g:go_def_reuse_buffer = 0
|
|
||||||
|
|
||||||
au FileType go nmap <Leader>gds <Plug>(go-def-split)
|
|
||||||
au FileType go nmap <Leader>gdv <Plug>(go-def-vertical)
|
|
||||||
au FileType go nmap <Leader>gdt <Plug>(go-def-tab)
|
|
||||||
" }
|
|
||||||
|
|
||||||
" deoplete {
|
|
||||||
" let g:deoplete#enable_at_startup = 1
|
|
||||||
" let g:deoplete#enable_smart_case = 1
|
|
||||||
" }
|
|
||||||
'';
|
|
||||||
|
|
||||||
vam.knownPlugins = pkgs.vimPlugins; # optional
|
|
||||||
vam.pluginDictionaries = [ # full ducomentation at github.com/MarcWeber/vim-addon-manager
|
|
||||||
"vim-addon-vim2nix"
|
|
||||||
"youcompleteme"
|
|
||||||
"vim-airline"
|
|
||||||
"vim-addon-nix"
|
|
||||||
"ctrlp"
|
|
||||||
"vim-go"
|
|
||||||
"syntastic"
|
|
||||||
"vim-css-color"
|
|
||||||
"rainbow_parentheses"
|
|
||||||
"vim-colorschemes"
|
|
||||||
"vim-colorstepper"
|
|
||||||
"vim-signify"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
extraPythonPackages = with pkgs.python2Packages; [
|
|
||||||
] ++ pythonPkgs;
|
|
||||||
withPython3 = true;
|
|
||||||
})
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,76 +0,0 @@
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
(vim_configurable.customize {
|
|
||||||
name = "vim";
|
|
||||||
|
|
||||||
# add custom .vimrc lines like this:
|
|
||||||
vimrcConfig.customRC = ''
|
|
||||||
set hidden
|
|
||||||
syntax on
|
|
||||||
" set hlsearch
|
|
||||||
set number
|
|
||||||
|
|
||||||
|
|
||||||
" mappings to stop insert mode
|
|
||||||
imap jjj <ESC>
|
|
||||||
imap kkk <ESC>
|
|
||||||
imap lll <ESC>
|
|
||||||
imap hhh <ESC>
|
|
||||||
set scroll=11
|
|
||||||
|
|
||||||
noremap <C-n> :tabn<CR>
|
|
||||||
noremap <C-p> :tabp<CR>
|
|
||||||
let g:ctrlp_map = '<tab>'
|
|
||||||
set wildignore+=*/site/*,*.so,*.swp,*.zip
|
|
||||||
let g:ctrlp_custom_ignore = {
|
|
||||||
\ 'dir': '\v[\/]\.(git|hg|svn|)$$',
|
|
||||||
\ 'file': '\v\.(exe|so|dll)$$',
|
|
||||||
\ }
|
|
||||||
|
|
||||||
let g:pydiction_location = '~/.vim/bundle/pydiction/complete-dict'
|
|
||||||
|
|
||||||
set ls=2 " allways show status line
|
|
||||||
set tabstop=4
|
|
||||||
set shiftwidth=4
|
|
||||||
set softtabstop=4
|
|
||||||
set expandtab
|
|
||||||
"set textwidth=80
|
|
||||||
|
|
||||||
" GoDef mappings
|
|
||||||
au FileType go nmap <Leader>gds <Plug>(go-def-split)
|
|
||||||
au FileType go nmap <Leader>gdv <Plug>(go-def-vertical)
|
|
||||||
au FileType go nmap <Leader>gdt <Plug>(go-def-tab)
|
|
||||||
|
|
||||||
" syntastic
|
|
||||||
" au FileType qf setlocal wrap linebreak
|
|
||||||
" let g:syntastic_always_populate_loc_list = 1
|
|
||||||
" let g:syntastic_auto_loc_list = 0
|
|
||||||
" let g:syntastic_check_on_open = 1
|
|
||||||
" let g:syntastic_check_on_wq = 0
|
|
||||||
'';
|
|
||||||
|
|
||||||
vimrcConfig.vam.knownPlugins = pkgs.vimPlugins; # optional
|
|
||||||
vimrcConfig.vam.pluginDictionaries = [{
|
|
||||||
# full ducomentation at github.com/MarcWeber/vim-addon-manager
|
|
||||||
names = [
|
|
||||||
"youcompleteme"
|
|
||||||
"vim-airline"
|
|
||||||
"vim-addon-nix"
|
|
||||||
"ctrlp"
|
|
||||||
"vim-go"
|
|
||||||
"vim-colorschemes"
|
|
||||||
# "syntastic"
|
|
||||||
# "ag.vim"
|
|
||||||
# "gosu-colors"
|
|
||||||
# "tagbar"
|
|
||||||
# "molokai"
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
];
|
|
||||||
})
|
|
||||||
python
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,52 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
#boot.kernelPackages = pkgs.recurseIntoAttrs (pkgs.linuxPackagesFor
|
|
||||||
# (pkgs.linux_latest.override {
|
|
||||||
# kernelPatches = pkgs.linux_latest.kernelPatches ++ [
|
|
||||||
# {
|
|
||||||
# name = "bfq1";
|
|
||||||
# patch = pkgs.fetchurl {
|
|
||||||
# url = "ftp://teambelgium.net/bfq/patches/4.5.0-v7r11/0001-block-cgroups-kconfig-build-bits-for-BFQ-v7r11-4.5.0.patch";
|
|
||||||
# sha256 = "1j6h831kj32c9slzm4vhjvd8m17gbwh713kcpc54z9i02fwyq6ax";
|
|
||||||
# };
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# name = "bfq2";
|
|
||||||
# patch = pkgs.fetchurl {
|
|
||||||
# url = "ftp://teambelgium.net/bfq/patches/4.5.0-v7r11/0002-block-introduce-the-BFQ-v7r11-I-O-sched-for-4.5.0.patch";
|
|
||||||
# sha256 = "1q8nf7fcp72s2xz2pfl22sv4w5fm4hzgciljrkd3g7gj5xvi27lw";
|
|
||||||
# };
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# name = "bfq3";
|
|
||||||
# patch = pkgs.fetchurl {
|
|
||||||
# url = "ftp://teambelgium.net/bfq/patches/4.5.0-v7r11/0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-v7r11-for.patch";
|
|
||||||
# sha256 = "1q2j7g3cfwi52psxgwa06hadl6c2fh87ckm07pyaj35n6524gjg0";
|
|
||||||
# };
|
|
||||||
# }
|
|
||||||
# ];
|
|
||||||
# extraConfig = ''
|
|
||||||
# BFQ_GROUP_IOSCHED y
|
|
||||||
# IOSCHED_BFQ y
|
|
||||||
# DEFAULT_BFQ y
|
|
||||||
# '';
|
|
||||||
# })
|
|
||||||
# pkgs.linuxPackages_latest
|
|
||||||
#);
|
|
||||||
|
|
||||||
boot.kernelPackages = pkgs.linuxPackages_4_6;
|
|
||||||
|
|
||||||
# Bootloader, initrd and Kernel
|
|
||||||
boot.loader.grub.enable = true;
|
|
||||||
boot.loader.grub.enableCryptodisk = true;
|
|
||||||
boot.loader.grub.version = 2;
|
|
||||||
|
|
||||||
# Workaround for nm-pptp
|
|
||||||
boot.kernelModules = [
|
|
||||||
"nf_conntrack_proto_gre"
|
|
||||||
"nf_conntrack_pptp"
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.tmpOnTmpfs = true;
|
|
||||||
}
|
|
|
@ -1,155 +0,0 @@
|
||||||
{ config,
|
|
||||||
pkgs,
|
|
||||||
... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
gitpkgs = import <gitpkgs> {};
|
|
||||||
in
|
|
||||||
{
|
|
||||||
nixpkgs.config = {
|
|
||||||
allowBroken = false;
|
|
||||||
|
|
||||||
packageOverrides = pkgs: rec {
|
|
||||||
# Version override example:
|
|
||||||
# rustracerd = pkgs.lib.overrideDerivation pkgs.rustracerd (attrs: rec {
|
|
||||||
# version = "2016-08-23";
|
|
||||||
# name = "racerd-${version}";
|
|
||||||
# src = pkgs.fetchgit {
|
|
||||||
# url = "git://github.com/jwilm/racerd.git";
|
|
||||||
# rev = "813d8214f50e8f77b5d8adf5173173209c8f6d74";
|
|
||||||
# sha256 = "07p4kvrc529khb1afrgwfkdb9nh3nvsk1v2p2b1rdaqvkpgwqr74";
|
|
||||||
# };
|
|
||||||
# });
|
|
||||||
|
|
||||||
go = pkgs.go_1_6;
|
|
||||||
bluez = pkgs.bluez5;
|
|
||||||
|
|
||||||
myLinuxPackages = pkgs.recurseIntoAttrs (pkgs.linuxPackagesFor
|
|
||||||
(pkgs.linux_latest.override {
|
|
||||||
kernelPatches = pkgs.linux_latest.kernelPatches ++ [
|
|
||||||
{
|
|
||||||
name = "bfq1";
|
|
||||||
patch = pkgs.fetchurl {
|
|
||||||
url = "ftp://teambelgium.net/bfq/patches/4.5.0-v7r11/0001-block-cgroups-kconfig-build-bits-for-BFQ-v7r11-4.5.0.patch";
|
|
||||||
sha256 = "1j6h831kj32c9slzm4vhjvd8m17gbwh713kcpc54z9i02fwyq6ax";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "bfq2";
|
|
||||||
patch = pkgs.fetchurl {
|
|
||||||
url = "ftp://teambelgium.net/bfq/patches/4.5.0-v7r11/0002-block-introduce-the-BFQ-v7r11-I-O-sched-for-4.5.0.patch";
|
|
||||||
sha256 = "1q8nf7fcp72s2xz2pfl22sv4w5fm4hzgciljrkd3g7gj5xvi27lw";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "bfq3";
|
|
||||||
patch = pkgs.fetchurl {
|
|
||||||
url = "ftp://teambelgium.net/bfq/patches/4.5.0-v7r11/0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-v7r11-for.patch";
|
|
||||||
sha256 = "1q2j7g3cfwi52psxgwa06hadl6c2fh87ckm07pyaj35n6524gjg0";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
extraConfig = ''
|
|
||||||
BFQ_GROUP_IOSCHED y
|
|
||||||
IOSCHED_BFQ y
|
|
||||||
DEFAULT_BFQ y
|
|
||||||
'';
|
|
||||||
})
|
|
||||||
pkgs.linuxPackages_latest
|
|
||||||
);
|
|
||||||
libvirt = pkgs.libvirt.override {
|
|
||||||
xen = null;
|
|
||||||
};
|
|
||||||
libvirt-glib = pkgs.libvirt-glib.override {
|
|
||||||
xen = null;
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
allowUnfree = true;
|
|
||||||
|
|
||||||
chromium = {
|
|
||||||
enablePepperFlash = true;
|
|
||||||
enablePepperPDF = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
firefox = {
|
|
||||||
enableGoogleTalkPlugin = true;
|
|
||||||
enableAdobeFlash = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
pidgin = {
|
|
||||||
openssl = true;
|
|
||||||
gnutls = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
keepass = pkgs.keepass.override {
|
|
||||||
plugins = [ pkgs.keepass-keefox ];
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
imports =
|
|
||||||
[
|
|
||||||
../common/pkg/default.nix
|
|
||||||
../common/pkg/neovim.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
androidsdk_4_4
|
|
||||||
|
|
||||||
nixops
|
|
||||||
nox
|
|
||||||
ansible
|
|
||||||
|
|
||||||
gnupg
|
|
||||||
picocom
|
|
||||||
roxterm
|
|
||||||
xorg.xbacklight
|
|
||||||
coreutils
|
|
||||||
lsof
|
|
||||||
|
|
||||||
xscreensaver
|
|
||||||
chromium
|
|
||||||
firefox-wrapper
|
|
||||||
seafile-client
|
|
||||||
|
|
||||||
qpdfview
|
|
||||||
thunderbird
|
|
||||||
keepass
|
|
||||||
|
|
||||||
pidgin
|
|
||||||
hexchat
|
|
||||||
skype
|
|
||||||
|
|
||||||
teamviewer
|
|
||||||
x11_ssh_askpass
|
|
||||||
gnome3.dconf # needed by virtmanager
|
|
||||||
virtmanager
|
|
||||||
qemu
|
|
||||||
vagrant
|
|
||||||
|
|
||||||
vlc
|
|
||||||
audacity
|
|
||||||
pavucontrol
|
|
||||||
|
|
||||||
gimp
|
|
||||||
inkscape
|
|
||||||
pdftk
|
|
||||||
imagemagick
|
|
||||||
|
|
||||||
iptables
|
|
||||||
nftables
|
|
||||||
iperf
|
|
||||||
|
|
||||||
#pandoc
|
|
||||||
pythonFull
|
|
||||||
|
|
||||||
gitpkgs.rkt
|
|
||||||
gitpkgs.flannel
|
|
||||||
gitpkgs.remmina
|
|
||||||
gitpkgs.spotify
|
|
||||||
gitpkgs.manuskript
|
|
||||||
# gitpkgs.zoom-us
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,23 +0,0 @@
|
||||||
|
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
|
||||||
imports =
|
|
||||||
[
|
|
||||||
../common/user/root.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
users.extraUsers.steveej = {
|
|
||||||
uid = 1000;
|
|
||||||
isNormalUser = true;
|
|
||||||
home = "/home/steveej";
|
|
||||||
extraGroups = [ "wheel" "libvirtd" "networkmanager" "vboxusers" ];
|
|
||||||
hashedPassword = "removed";
|
|
||||||
};
|
|
||||||
users.extraUsers.steveej2 = {
|
|
||||||
uid = 1001;
|
|
||||||
isNormalUser = true;
|
|
||||||
home = "/home/steveej2";
|
|
||||||
extraGroups = [ "wheel" "libvirtd" ];
|
|
||||||
hashedPassword = "removed";
|
|
||||||
};
|
|
||||||
}
|
|
10
nixos-configuration/common/pkg/neovim.nix
Normal file
10
nixos-configuration/common/pkg/neovim.nix
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{ config
|
||||||
|
, pkgs
|
||||||
|
, ... } @ args:
|
||||||
|
|
||||||
|
{
|
||||||
|
environment.systemPackages = [
|
||||||
|
pkgs.xsel
|
||||||
|
(import ../../../pkg-configuration/vim-derivates/neovim.nix args)
|
||||||
|
];
|
||||||
|
}
|
9
nixos-configuration/common/pkg/vim.nix
Normal file
9
nixos-configuration/common/pkg/vim.nix
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{ pkgs
|
||||||
|
, ... } @ args:
|
||||||
|
|
||||||
|
{
|
||||||
|
environment.systemPackages = [
|
||||||
|
pkgs.xsel
|
||||||
|
(import ../../../pkg-configuration/vim-derivates/vim.nix (args // { name = "vim"; }))
|
||||||
|
];
|
||||||
|
}
|
19
nixos-configuration/steveej-laptop/boot.nix
Normal file
19
nixos-configuration/steveej-laptop/boot.nix
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
#boot.kernelPackages = pkgs.myLinuxPackages;
|
||||||
|
|
||||||
|
# Bootloader, initrd and Kernel
|
||||||
|
boot.loader.grub.enable = true;
|
||||||
|
boot.loader.grub.enableCryptodisk = true;
|
||||||
|
boot.loader.grub.version = 2;
|
||||||
|
|
||||||
|
# Workaround for nm-pptp
|
||||||
|
boot.kernelModules = [
|
||||||
|
"nf_conntrack_proto_gre"
|
||||||
|
"nf_conntrack_pptp"
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.tmpOnTmpfs = true;
|
||||||
|
}
|
83
nixos-configuration/steveej-laptop/pkg.nix
Normal file
83
nixos-configuration/steveej-laptop/pkg.nix
Normal file
|
@ -0,0 +1,83 @@
|
||||||
|
{ config,
|
||||||
|
pkgs,
|
||||||
|
... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
gitpkgs = import <gitpkgs> {};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
nixpkgs.config = {
|
||||||
|
allowBroken = false;
|
||||||
|
allowUnfree = true;
|
||||||
|
|
||||||
|
packageOverrides = pkgs: rec {
|
||||||
|
# Version override example:
|
||||||
|
# rustracerd = pkgs.lib.overrideDerivation pkgs.rustracerd (attrs: rec {
|
||||||
|
# version = "2016-08-23";
|
||||||
|
# name = "racerd-${version}";
|
||||||
|
# src = pkgs.fetchgit {
|
||||||
|
# url = "git://github.com/jwilm/racerd.git";
|
||||||
|
# rev = "813d8214f50e8f77b5d8adf5173173209c8f6d74";
|
||||||
|
# sha256 = "07p4kvrc529khb1afrgwfkdb9nh3nvsk1v2p2b1rdaqvkpgwqr74";
|
||||||
|
# };
|
||||||
|
# });
|
||||||
|
|
||||||
|
myLinuxPackages = pkgs.recurseIntoAttrs (pkgs.linuxPackagesFor
|
||||||
|
(pkgs.linux_latest.override {
|
||||||
|
kernelPatches = pkgs.linux_latest.kernelPatches ++ [
|
||||||
|
{
|
||||||
|
name = "bfq1";
|
||||||
|
patch = pkgs.fetchurl {
|
||||||
|
url = "ftp://teambelgium.net/bfq/patches/4.7.0-v8r3/0001-block-cgroups-kconfig-build-bits-for-BFQ-v7r11-4.7.0.patch";
|
||||||
|
sha256 = "116jfdgjgmy1fv6kzz7dm1c7rjy1pbsfzzcjv5mgsb7pnaxq3gd6";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "bfq2";
|
||||||
|
patch = pkgs.fetchurl {
|
||||||
|
url = "ftp://teambelgium.net/bfq/patches/4.7.0-v8r3/0002-block-introduce-the-BFQ-v7r11-I-O-sched-for-4.7.0.patch";
|
||||||
|
sha256 = "0wjmnym2ycglx42f513n97b45x3xqi33q7z4cs0aiz0zbblm8jql";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "bfq3";
|
||||||
|
patch = pkgs.fetchurl {
|
||||||
|
url = "ftp://teambelgium.net/bfq/patches/4.7.0-v8r3/0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-v7r11-for.patch";
|
||||||
|
sha256 = "0898aklynxb9dr0nb0kdhc2incjkjihds9dakxvdy0mwjqr0jd6v";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "bfq4";
|
||||||
|
patch = pkgs.fetchurl {
|
||||||
|
url = "ftp://teambelgium.net/bfq/patches/4.7.0-v8r3/0004-block-bfq-turn-BFQ-v7r11-for-4.7.0-into-BFQ-v8r3-for.patch";
|
||||||
|
sha256 = "09ya3g39zk9k3hzjx4fkl60qkxdgzllnx3kk9dyi7lvydmhp4y6v";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
extraConfig = ''
|
||||||
|
BFQ_GROUP_IOSCHED y
|
||||||
|
IOSCHED_BFQ y
|
||||||
|
DEFAULT_BFQ y
|
||||||
|
'';
|
||||||
|
})
|
||||||
|
pkgs.linuxPackages_latest
|
||||||
|
);
|
||||||
|
|
||||||
|
libvirt = pkgs.libvirt.override {
|
||||||
|
xen = null;
|
||||||
|
};
|
||||||
|
libvirt-glib = pkgs.libvirt-glib.override {
|
||||||
|
xen = null;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
imports =
|
||||||
|
[
|
||||||
|
../common/pkg/default.nix
|
||||||
|
../common/pkg/neovim.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
];
|
||||||
|
}
|
|
@ -4,13 +4,16 @@
|
||||||
nix.binaryCachePublicKeys = [ "hydra.nixos.org-1:CNHJZBh9K4tP3EKF6FkkgeVYsS3ohTl+oS0Qa8bezVs=" ];
|
nix.binaryCachePublicKeys = [ "hydra.nixos.org-1:CNHJZBh9K4tP3EKF6FkkgeVYsS3ohTl+oS0Qa8bezVs=" ];
|
||||||
nix.binaryCaches = [
|
nix.binaryCaches = [
|
||||||
"https://cache.nixos.org"
|
"https://cache.nixos.org"
|
||||||
"http://hydra.nixos.org"
|
"https://hydra.nixos.org"
|
||||||
];
|
];
|
||||||
nix.trustedBinaryCaches = [
|
nix.trustedBinaryCaches = [
|
||||||
"https://cache.nixos.org"
|
"https://cache.nixos.org"
|
||||||
"http://hydra.nixos.org"
|
"https://hydra.nixos.org"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
nix.daemonNiceLevel = 19;
|
||||||
|
nix.daemonIONiceLevel = 7;
|
||||||
|
|
||||||
# The NixOS release to be compatible with for stateful data such as databases.
|
# The NixOS release to be compatible with for stateful data such as databases.
|
||||||
# system.stateVersion = "unstable";
|
# system.stateVersion = "unstable";
|
||||||
networking.hostName = "steveej-laptop"; # Define your hostname.
|
networking.hostName = "steveej-laptop"; # Define your hostname.
|
||||||
|
@ -105,15 +108,10 @@
|
||||||
drivers = [ pkgs.hplip ];
|
drivers = [ pkgs.hplip ];
|
||||||
};
|
};
|
||||||
|
|
||||||
services.etcd.enable = true;
|
services.pcscd.enable = true;
|
||||||
|
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
synaptics.enable = true;
|
libinput.enable = true;
|
||||||
synaptics.palmDetect = true;
|
libinput.naturalScrolling = true;
|
||||||
synaptics.horizEdgeScroll = true;
|
|
||||||
synaptics.horizontalScroll = true;
|
|
||||||
synaptics.twoFingerScroll = true;
|
|
||||||
synaptics.vertEdgeScroll = true;
|
|
||||||
|
|
||||||
videoDrivers = [ "qxl" "intel" ];
|
videoDrivers = [ "qxl" "intel" ];
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -122,7 +120,8 @@
|
||||||
windowManager.qtile.enable = true;
|
windowManager.qtile.enable = true;
|
||||||
windowManager.default = "qtile";
|
windowManager.default = "qtile";
|
||||||
desktopManager = {
|
desktopManager = {
|
||||||
xterm.enable = false;
|
xterm.enable = true;
|
||||||
|
gnome3.enable = false;
|
||||||
xfce.enable = true;
|
xfce.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -141,16 +140,25 @@
|
||||||
sessionCommands = ''
|
sessionCommands = ''
|
||||||
xscreensaver -no-splash &
|
xscreensaver -no-splash &
|
||||||
${pkgs.networkmanagerapplet}/bin/nm-applet &
|
${pkgs.networkmanagerapplet}/bin/nm-applet &
|
||||||
$(sleep 2; xmodmap /home/steveej/.Xmodmap) &
|
$(sleep 2; xmodmap ~/.Xmodmap) &
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.udev.packages = [
|
||||||
|
pkgs.libu2f-host
|
||||||
|
pkgs.yubikey-personalization
|
||||||
|
];
|
||||||
services.udev.extraRules = ''
|
services.udev.extraRules = ''
|
||||||
# OnePlusOne
|
# OnePlusOne
|
||||||
ATTR{idVendor}=="05c6", ATTR{idProduct}=="6764", SYMLINK+="libmtp-%k", MODE="660", GROUP="audio", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1", TAG+="uaccess"
|
ATTR{idVendor}=="05c6", ATTR{idProduct}=="6764", SYMLINK+="libmtp-%k", MODE="660", GROUP="audio", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1", TAG+="uaccess"
|
||||||
ATTR{idVendor}=="05c6", ATTR{idProduct}=="6765", SYMLINK+="libmtp-%k", MODE="660", GROUP="audio", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1", TAG+="uaccess"
|
ATTR{idVendor}=="05c6", ATTR{idProduct}=="6765", SYMLINK+="libmtp-%k", MODE="660", GROUP="audio", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1", TAG+="uaccess"
|
||||||
'';
|
''
|
||||||
|
# + builtins.readFile (pkgs.fetchurl {
|
||||||
|
# url="https://raw.githubusercontent.com/Yubico/libu2f-host/master/70-u2f.rules";
|
||||||
|
# sha256="1vmvk6pybvw92y97xbf8gm08x54f4zhvjawmbc37f25g2x97kgrf";
|
||||||
|
# })
|
||||||
|
;
|
||||||
|
|
||||||
services.resolved.enable = false;
|
services.resolved.enable = false;
|
||||||
|
|
28
nixos-configuration/steveej-laptop/user.nix
Normal file
28
nixos-configuration/steveej-laptop/user.nix
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[
|
||||||
|
../common/user/root.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
users.extraUsers.steveej = {
|
||||||
|
uid = 1000;
|
||||||
|
isNormalUser = true;
|
||||||
|
home = "/home/steveej";
|
||||||
|
extraGroups = [
|
||||||
|
"wheel"
|
||||||
|
"libvirtd"
|
||||||
|
"networkmanager"
|
||||||
|
"vboxusers"
|
||||||
|
"users"
|
||||||
|
"input"
|
||||||
|
"audio"
|
||||||
|
"video"
|
||||||
|
];
|
||||||
|
hashedPassword = "removed";
|
||||||
|
};
|
||||||
|
|
||||||
|
security.pam.enableU2F = true;
|
||||||
|
security.pam.services.steveej.u2fAuth = true;
|
||||||
|
}
|
104
pkg-configuration/vim-derivates/commonrc.nix
Normal file
104
pkg-configuration/vim-derivates/commonrc.nix
Normal file
|
@ -0,0 +1,104 @@
|
||||||
|
{}:
|
||||||
|
''
|
||||||
|
set nocompatible
|
||||||
|
|
||||||
|
" leader
|
||||||
|
let mapleader = ','
|
||||||
|
|
||||||
|
set hidden
|
||||||
|
syntax on
|
||||||
|
set hlsearch
|
||||||
|
set number
|
||||||
|
|
||||||
|
" mappings to stop insert mode
|
||||||
|
imap jjj <ESC>
|
||||||
|
imap kkk <ESC>
|
||||||
|
imap lll <ESC>
|
||||||
|
imap hhh <ESC>
|
||||||
|
set scroll=11
|
||||||
|
|
||||||
|
noremap <C-n> :tabn<CR>
|
||||||
|
noremap <C-p> :tabp<CR>
|
||||||
|
let g:ctrlp_map = '<tab>'
|
||||||
|
set wildignore+=*/site/*,*.so,*.swp,*.zip
|
||||||
|
let g:ctrlp_custom_ignore = {
|
||||||
|
\ 'dir': '\v[\/]\.(git|hg|svn|)$$',
|
||||||
|
\ 'file': '\v\.(exe|so|dll)$$',
|
||||||
|
\ }
|
||||||
|
|
||||||
|
"let g:ctrlp_match_func = { 'match': 'pymatcher#PyMatch' }
|
||||||
|
"let g:pydiction_location = '~/.vim/bundle/pydiction/complete-dict'
|
||||||
|
|
||||||
|
" allways show status line
|
||||||
|
set ls=2
|
||||||
|
set tabstop=4
|
||||||
|
set shiftwidth=4
|
||||||
|
set softtabstop=4
|
||||||
|
set expandtab
|
||||||
|
"set textwidth=80
|
||||||
|
|
||||||
|
set wildignore+=*/site/*,*.so,*.swp,*.zip
|
||||||
|
let g:ctrlp_custom_ignore = {
|
||||||
|
\ 'dir': '\v[\/]\.(git|hg|svn|)$$',
|
||||||
|
\ 'file': '\v\.(exe|so|dll)$$',
|
||||||
|
\ }
|
||||||
|
" }
|
||||||
|
|
||||||
|
" spelling {{{
|
||||||
|
au BufRead,BufNewFile *.txt,*.tex,*.md,*.markdown setlocal spell spelllang=en_us,de_de
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
" sync default register to clipboard {
|
||||||
|
if has('unnamedplus')
|
||||||
|
set clipboard=unnamedplus
|
||||||
|
else
|
||||||
|
set clipboard=unnamed
|
||||||
|
endif
|
||||||
|
" }
|
||||||
|
|
||||||
|
" colored brackets {
|
||||||
|
let g:rbpt_colorpairs = [
|
||||||
|
\ ['brown', 'RoyalBlue3'],
|
||||||
|
\ ['Darkblue', 'SeaGreen3'],
|
||||||
|
\ ['darkgray', 'DarkOrchid3'],
|
||||||
|
\ ['darkgreen', 'firebrick3'],
|
||||||
|
\ ['darkcyan', 'RoyalBlue3'],
|
||||||
|
\ ['darkred', 'SeaGreen3'],
|
||||||
|
\ ['darkmagenta', 'DarkOrchid3'],
|
||||||
|
\ ['brown', 'firebrick3'],
|
||||||
|
\ ['gray', 'RoyalBlue3'],
|
||||||
|
\ ['black', 'SeaGreen3'],
|
||||||
|
\ ['darkmagenta', 'DarkOrchid3'],
|
||||||
|
\ ['Darkblue', 'firebrick3'],
|
||||||
|
\ ['darkgreen', 'RoyalBlue3'],
|
||||||
|
\ ['darkcyan', 'SeaGreen3'],
|
||||||
|
\ ['darkred', 'DarkOrchid3'],
|
||||||
|
\ ['red', 'firebrick3'],
|
||||||
|
\ ]
|
||||||
|
let g:rbpt_max = 16
|
||||||
|
let g:rbpt_loadcmd_toggle = 0
|
||||||
|
|
||||||
|
au VimEnter * RainbowParenthesesToggle
|
||||||
|
au Syntax * RainbowParenthesesLoadRound
|
||||||
|
au Syntax * RainbowParenthesesLoadSquare
|
||||||
|
au Syntax * RainbowParenthesesLoadBraces
|
||||||
|
" }
|
||||||
|
|
||||||
|
set t_ut=
|
||||||
|
colorscheme PaperColor
|
||||||
|
|
||||||
|
" Python {{{
|
||||||
|
augroup ft_python
|
||||||
|
au!
|
||||||
|
au FileType python setlocal omnifunc=pythoncomplete#Complete
|
||||||
|
au FileType python setlocal define=^\s*\\(def\\\\|class\\)
|
||||||
|
augroup END
|
||||||
|
" }}}
|
||||||
|
|
||||||
|
" YAML {{{
|
||||||
|
augroup ft_yaml
|
||||||
|
au!
|
||||||
|
setlocal autoindent sw=2 et tabstop=2 shiftwidth=2 softtabstop=2
|
||||||
|
augroup END
|
||||||
|
" }}}
|
||||||
|
''
|
33
pkg-configuration/vim-derivates/neovim.nix
Normal file
33
pkg-configuration/vim-derivates/neovim.nix
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
{ pkgs
|
||||||
|
, additionalRC ? ""
|
||||||
|
, additionalPlugins ? []
|
||||||
|
, ... }:
|
||||||
|
|
||||||
|
pkgs.neovim.override {
|
||||||
|
vimAlias = true;
|
||||||
|
configure = {
|
||||||
|
# add custom .vimrc lines like this:
|
||||||
|
customRC = (import ./commonrc.nix {}) + ''
|
||||||
|
" deoplete {
|
||||||
|
let g:deoplete#enable_at_startup = 1
|
||||||
|
let g:deoplete#enable_smart_case = 1
|
||||||
|
" }
|
||||||
|
'' + additionalRC;
|
||||||
|
|
||||||
|
vam.knownPlugins = pkgs.vimPlugins; # optional
|
||||||
|
vam.pluginDictionaries = [ # full ducomentation at github.com/MarcWeber/vim-addon-manager
|
||||||
|
"vim-addon-vim2nix"
|
||||||
|
"vim-airline"
|
||||||
|
"vim-addon-nix"
|
||||||
|
"ctrlp"
|
||||||
|
"vim-css-color"
|
||||||
|
"rainbow_parentheses"
|
||||||
|
"vim-colorschemes"
|
||||||
|
"vim-colorstepper"
|
||||||
|
"vim-signify"
|
||||||
|
"deoplete-nvim"
|
||||||
|
] ++ additionalPlugins;
|
||||||
|
};
|
||||||
|
extraPythonPackages = [];
|
||||||
|
withPython3 = true;
|
||||||
|
}
|
30
pkg-configuration/vim-derivates/vim.nix
Normal file
30
pkg-configuration/vim-derivates/vim.nix
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
{ pkgs
|
||||||
|
, name
|
||||||
|
, additionalRC ? ""
|
||||||
|
, additionalPlugins ? []
|
||||||
|
, ... } @ args :
|
||||||
|
|
||||||
|
pkgs.vim_configurable.customize {
|
||||||
|
inherit name;
|
||||||
|
# add custom .vimrc lines like this:
|
||||||
|
vimrcConfig.customRC = (import ./commonrc.nix {}) + ''
|
||||||
|
'' + additionalRC;
|
||||||
|
|
||||||
|
vimrcConfig.vam.knownPlugins = pkgs.vimPlugins; # optional
|
||||||
|
vimrcConfig.vam.pluginDictionaries = [{
|
||||||
|
# full ducomentation at github.com/MarcWeber/vim-addon-manager
|
||||||
|
names = [
|
||||||
|
"vim-addon-vim2nix"
|
||||||
|
"vim-airline"
|
||||||
|
"vim-addon-nix"
|
||||||
|
"ctrlp"
|
||||||
|
"syntastic"
|
||||||
|
"vim-css-color"
|
||||||
|
"rainbow_parentheses"
|
||||||
|
"vim-colorschemes"
|
||||||
|
"vim-colorstepper"
|
||||||
|
"vim-signify"
|
||||||
|
"youcompleteme"
|
||||||
|
] ++ additionalPlugins;
|
||||||
|
}];
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue