From 34b73e34e2d6a280264421663c7bce326c68f897 Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Sun, 23 Sep 2018 12:27:40 +0200 Subject: Restructure host config, derivations --- conf/common.nix | 15 -- conf/dir_colors | 218 --------------------- conf/fish.nix | 71 ------- configuration.nix | 12 +- host/asterix.nix | 2 +- host/automatix.nix | 40 +--- host/obelix.nix | 2 +- .../role/conf/vpn/T-TeleSec_GlobalRoot_Class_2.pem | 23 --- host/role/conf/vpn/kit.ovpn.nix | 19 -- host/role/desktop.nix | 45 ----- .../asset/T-TeleSec_GlobalRoot_Class_2.pem | 23 +++ host/software/asset/dir_colors | 218 +++++++++++++++++++++ host/software/code.kummerlaender.eu.nix | 42 ++++ host/software/desktop.nix | 42 ++++ host/software/fish.nix | 76 +++++++ host/software/kit.vpn.nix | 27 +++ host/software/pkgs/vim/asset/rc.vim | 128 ++++++++++++ .../vim-color-akr/autoload/airline/themes/akr.vim | 86 ++++++++ .../pkgs/vim/asset/vim-color-akr/colors/akr.vim | 93 +++++++++ host/software/pkgs/vim/custom.nix | 42 ++++ host/software/pkgs/vim/default.nix | 11 ++ host/software/pkgs/vim/plugins.nix | 84 ++++++++ host/software/vim.nix | 9 + pkgs/vim/conf/rc.vim | 128 ------------ .../vim-color-akr/autoload/airline/themes/akr.vim | 86 -------- pkgs/vim/conf/vim-color-akr/colors/akr.vim | 93 --------- pkgs/vim/custom.nix | 42 ---- pkgs/vim/plugins.nix | 84 -------- pkgs/vim/vim.nix | 11 -- user/common.nix | 15 ++ 30 files changed, 907 insertions(+), 880 deletions(-) delete mode 100644 conf/common.nix delete mode 100644 conf/dir_colors delete mode 100644 conf/fish.nix delete mode 100644 host/role/conf/vpn/T-TeleSec_GlobalRoot_Class_2.pem delete mode 100644 host/role/conf/vpn/kit.ovpn.nix delete mode 100644 host/role/desktop.nix create mode 100644 host/software/asset/T-TeleSec_GlobalRoot_Class_2.pem create mode 100644 host/software/asset/dir_colors create mode 100644 host/software/code.kummerlaender.eu.nix create mode 100644 host/software/desktop.nix create mode 100644 host/software/fish.nix create mode 100644 host/software/kit.vpn.nix create mode 100644 host/software/pkgs/vim/asset/rc.vim create mode 100644 host/software/pkgs/vim/asset/vim-color-akr/autoload/airline/themes/akr.vim create mode 100644 host/software/pkgs/vim/asset/vim-color-akr/colors/akr.vim create mode 100644 host/software/pkgs/vim/custom.nix create mode 100644 host/software/pkgs/vim/default.nix create mode 100644 host/software/pkgs/vim/plugins.nix create mode 100644 host/software/vim.nix delete mode 100644 pkgs/vim/conf/rc.vim delete mode 100644 pkgs/vim/conf/vim-color-akr/autoload/airline/themes/akr.vim delete mode 100644 pkgs/vim/conf/vim-color-akr/colors/akr.vim delete mode 100644 pkgs/vim/custom.nix delete mode 100644 pkgs/vim/plugins.nix delete mode 100644 pkgs/vim/vim.nix create mode 100644 user/common.nix diff --git a/conf/common.nix b/conf/common.nix deleted file mode 100644 index ade26d3..0000000 --- a/conf/common.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ pkgs, ... }: - -{ - users.extraUsers.common = { - isNormalUser = true; - uid = 1000; - extraGroups = [ "wheel" ]; - shell = pkgs.fish; - - openssh.authorizedKeys.keys = [ - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDy2h3NXWVW7BlEehCCgQ3ZMq64rqxoI70dg9Zq3SdIWcqunkWsHGSmzXbxM0ZCD2/VWNVrvShusg0dDSOwV64HUxIuDWpM6gCvg5MKBS0ZMwb9831d0ybf6kU/gppJGyM7R9HspB69C9pnKBB6vUUXd/TgmjhiAHPCwbq/vgWRN7yYGwB/tc7pRiugk6tyfgvXvFCnQXZLoPSx0qBF3L6YyRzbtL5sI7KoN/gCzgqnT0H91vhxkjXrPN+GnW43lcbaqApd3gd0NmMaWNxR6ZKnXFFcUPI72cbBmhe3+t15pF9ZUYZ0sKSfbgOZx0vHLiS69Dr63L6gVNGNx7B/yxC3 common@asterix" - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKzc+VocgNSTXa64vwYeydjhKJRWMMZcQ1tmDv/uWbAhB9lDwS1b5R868u0gHbpRCfR6xFBFM0IYxS61RZktH0Cc0d3TU4xxX0oa84LN70LsQut/WiT38zTEWCltz+2+RgS1TuDTqhnp/S7fHc8Bm8oNsI8f25K9EqEADVtxzjxhiz7US6U6GbhoSx2/3hDUp4IgZU/MsDVCqQ0T1SMJIZS8vM2EUpeVZNhIuYJ06Ncy8MAgG1sEacXd+rb96Yltd7+y9QK+5aIYYs4Sx3Y6rXKmUj/mLWIroFY4jSk3Mw81+60px+qDhwY4kJv1Ttfs14awaZ5JRHO5fDPhwfrcTt common@Schreibfix" - ]; - }; -} diff --git a/conf/dir_colors b/conf/dir_colors deleted file mode 100644 index bbe79d9..0000000 --- a/conf/dir_colors +++ /dev/null @@ -1,218 +0,0 @@ -# Configuration file for dircolors, a utility to help you set the -# LS_COLORS environment variable used by GNU ls with the --color option. -# Copyright (C) 1996-2015 Free Software Foundation, Inc. -# Copying and distribution of this file, with or without modification, -# are permitted provided the copyright notice and this notice are preserved. -# The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the -# slackware version of dircolors) are recognized but ignored. -# Below, there should be one TERM entry for each termtype that is colorizable -TERM Eterm -TERM ansi -TERM color-xterm -TERM con132x25 -TERM con132x30 -TERM con132x43 -TERM con132x60 -TERM con80x25 -TERM con80x28 -TERM con80x30 -TERM con80x43 -TERM con80x50 -TERM con80x60 -TERM cons25 -TERM console -TERM cygwin -TERM dtterm -TERM eterm-color -TERM gnome -TERM gnome-256color -TERM hurd -TERM jfbterm -TERM konsole -TERM kterm -TERM linux -TERM linux-c -TERM mach-color -TERM mach-gnu-color -TERM mlterm -TERM putty -TERM putty-256color -TERM rxvt -TERM rxvt-256color -TERM rxvt-cygwin -TERM rxvt-cygwin-native -TERM rxvt-unicode -TERM rxvt-unicode-256color -TERM rxvt-unicode256 -TERM screen -TERM screen-256color -TERM screen-256color-bce -TERM screen-bce -TERM screen-w -TERM screen.Eterm -TERM screen.rxvt -TERM screen.linux -TERM st -TERM st-256color -TERM terminator -TERM vt100 -TERM xterm -TERM xterm-16color -TERM xterm-256color -TERM xterm-88color -TERM xterm-color -TERM xterm-debian -TERM xterm-termite -TERM xterm-kitty -# Below are the color init strings for the basic file types. A color init -# string consists of one or more of the following numeric codes: -# Attribute codes: -# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed -# Text color codes: -# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white -# Background color codes: -# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white -#NORMAL 00 # no color code at all -#FILE 00 # regular file: use no color at all -RESET 0 # reset to "normal" color -DIR 00;32 # directory -LINK 01;36 # symbolic link. (If you set this to 'target' instead of a - # numerical value, the color is as for the file pointed to.) -MULTIHARDLINK 00 # regular file with more than one link -FIFO 40;33 # pipe -SOCK 01;35 # socket -DOOR 01;35 # door -BLK 40;33;01 # block device driver -CHR 40;33;01 # character device driver -ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file ... -MISSING 00 # ... and the files they point to -SETUID 37;41 # file that is setuid (u+s) -SETGID 30;43 # file that is setgid (g+s) -CAPABILITY 30;41 # file with capability -STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w) -OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky -STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable -# This is for files with execute permission: -EXEC 01;32 -# List any file extensions like '.gz' or '.tar' that you would like ls -# to colorize below. Put the extension, a space, and the color init string. -# (and any comments you want to add after a '#') -# If you use DOS-style suffixes, you may want to uncomment the following: -#.cmd 01;32 # executables (bright green) -#.exe 01;32 -#.com 01;32 -#.btm 01;32 -#.bat 01;32 -# Or if you want to colorize scripts even if they do not have the -# executable bit actually set. -#.sh 01;32 -#.csh 01;32 - # archives or compressed (bright red) -.tar 01;31 -.tgz 01;31 -.arc 01;31 -.arj 01;31 -.taz 01;31 -.lha 01;31 -.lz4 01;31 -.lzh 01;31 -.lzma 01;31 -.tlz 01;31 -.txz 01;31 -.tzo 01;31 -.t7z 01;31 -.zip 01;31 -.z 01;31 -.Z 01;31 -.dz 01;31 -.gz 01;31 -.lrz 01;31 -.lz 01;31 -.lzo 01;31 -.xz 01;31 -.bz2 01;31 -.bz 01;31 -.tbz 01;31 -.tbz2 01;31 -.tz 01;31 -.deb 01;31 -.rpm 01;31 -.jar 01;31 -.war 01;31 -.ear 01;31 -.sar 01;31 -.rar 01;31 -.alz 01;31 -.ace 01;31 -.zoo 01;31 -.cpio 01;31 -.7z 01;31 -.rz 01;31 -.cab 01;31 -# image formats -.jpg 01;35 -.jpeg 01;35 -.gif 01;35 -.bmp 01;35 -.pbm 01;35 -.pgm 01;35 -.ppm 01;35 -.tga 01;35 -.xbm 01;35 -.xpm 01;35 -.tif 01;35 -.tiff 01;35 -.png 01;35 -.svg 01;35 -.svgz 01;35 -.mng 01;35 -.pcx 01;35 -.mov 01;35 -.mpg 01;35 -.mpeg 01;35 -.m2v 01;35 -.mkv 01;35 -.webm 01;35 -.ogm 01;35 -.mp4 01;35 -.m4v 01;35 -.mp4v 01;35 -.vob 01;35 -.qt 01;35 -.nuv 01;35 -.wmv 01;35 -.asf 01;35 -.rm 01;35 -.rmvb 01;35 -.flc 01;35 -.avi 01;35 -.fli 01;35 -.flv 01;35 -.gl 01;35 -.dl 01;35 -.xcf 01;35 -.xwd 01;35 -.yuv 01;35 -.cgm 01;35 -.emf 01;35 -# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions -.ogv 01;35 -.ogx 01;35 -# audio formats -.aac 00;36 -.au 00;36 -.flac 00;36 -.m4a 00;36 -.mid 00;36 -.midi 00;36 -.mka 00;36 -.mp3 00;36 -.mpc 00;36 -.ogg 00;36 -.ra 00;36 -.wav 00;36 -# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions -.oga 00;36 -.opus 00;36 -.spx 00;36 -.xspf 00;36 diff --git a/conf/fish.nix b/conf/fish.nix deleted file mode 100644 index 6a654f5..0000000 --- a/conf/fish.nix +++ /dev/null @@ -1,71 +0,0 @@ -{ - programs.fish = { - enable = true; - shellInit = '' - set fish_greeting "" - ''; - interactiveShellInit = '' - eval (dircolors -c ${./dir_colors}) - - set fish_color_normal white - set fish_color_command magenta --bold - set fish_color_param green - set fish_color_error brred - set fish_color_operator cyan - set fish_color_comment white - set fish_color_cwd green - set fish_color_quote brown - set fish_color_autosuggestion 555 - set fish_color_redirection white - ''; - promptInit = '' - function fish_prompt - set last_status $status - - if not set -q __fish_prompt_normal - set -g __fish_prompt_normal (set_color normal) - end - - switch $USER - case root - if not set -q __fish_prompt_cwd - if set -q fish_color_cwd_root - set -g __fish_prompt_cwd (set_color $fish_color_cwd_root) - else - set -g __fish_prompt_cwd (set_color $fish_color_cwd) - end - end - - case '*' - if not set -q __fish_prompt_cwd - set -g __fish_prompt_cwd (set_color $fish_color_cwd) - end - end - - echo -n -s 'λ ' "$__fish_prompt_cwd" (prompt_pwd) "$__fish_prompt_normal" - - if test $IN_NIX_SHELL - if test $NIX_SHELL_NAME - echo -n -s ' (' $NIX_SHELL_NAME ')' - else - echo -n -s ' (nix-shell)' - end - end - - if test $last_status -gt 0 - set_color $fish_color_cwd_root - echo -n -s ' ● ' - set_color normal - else - echo -n -s ' ● ' - end - end - - function fish_right_prompt - set_color $fish_color_autosuggestion - date '+%H:%M:%S' - set_color normal - end - ''; - }; -} diff --git a/configuration.nix b/configuration.nix index 82e83a6..fda8323 100644 --- a/configuration.nix +++ b/configuration.nix @@ -5,8 +5,9 @@ imports = [ ./host/current.nix - ./conf/common.nix - ./conf/fish.nix + ./host/software/vim.nix + ./host/software/fish.nix + ./user/common.nix ]; i18n = { @@ -33,10 +34,8 @@ }; environment = { - systemPackages = let - custom_vim = import ./pkgs/vim/vim.nix pkgs; - in with pkgs; [ - psmisc htop fish git silver-searcher custom_vim + systemPackages = with pkgs; [ + psmisc htop git silver-searcher ]; shellAliases = { @@ -44,7 +43,6 @@ }; shellInit = '' - export TERM=xterm export LC_NUMERIC=de_DE.UTF8 export LC_TIME=de_DE.UTF8 export LC_MONETARY=de_DE.UTF8 diff --git a/host/asterix.nix b/host/asterix.nix index d925259..0d078e9 100644 --- a/host/asterix.nix +++ b/host/asterix.nix @@ -1,7 +1,7 @@ { imports = [ ./hardware/asterix.nix - ./role/desktop.nix + ./software/desktop.nix ]; boot = { diff --git a/host/automatix.nix b/host/automatix.nix index 9724b95..cbd0aeb 100644 --- a/host/automatix.nix +++ b/host/automatix.nix @@ -1,7 +1,10 @@ { pkgs, ... }: { - imports = [ ./hardware/automatix.nix ]; + imports = [ + ./hardware/automatix.nix + ./software/code.kummerlaender.eu.nix + ]; boot.loader.grub = { enable = true; @@ -18,31 +21,6 @@ }; services = { - gitea = { - enable = true; - database.type = "sqlite3"; - - appName = "~/projects"; - domain = "code.kummerlaender.eu"; - rootUrl = "https://code.kummerlaender.eu/"; - httpPort = 3000; - - extraConfig = '' - [server] - LANDING_PAGE = "explore" - [service] - DISABLE_REGISTRATION = true - SHOW_REGISTRATION_BUTTON = false - [api] - ENABLE_SWAGGER_ENDPOINT = false - [picture] - DISABLE_GRAVATAR = true - [other] - SHOW_FOOTER_VERSION = false - SHOW_FOOTER_TEMPLATE_LOAD_TIME = false - ''; - }; - nginx = { enable = true; @@ -50,16 +28,6 @@ recommendedOptimisation = true; recommendedProxySettings = true; recommendedTlsSettings = true; - - virtualHosts."code.kummerlaender.eu" = { - addSSL = true; - enableACME = true; - locations = { - "/" = { - proxyPass = "http://localhost:3000/"; - }; - }; - }; }; }; } diff --git a/host/obelix.nix b/host/obelix.nix index f876a61..8eea35e 100644 --- a/host/obelix.nix +++ b/host/obelix.nix @@ -3,7 +3,7 @@ { imports = [ ./hardware/obelix.nix - ./role/desktop.nix + ./software/desktop.nix ]; boot = { diff --git a/host/role/conf/vpn/T-TeleSec_GlobalRoot_Class_2.pem b/host/role/conf/vpn/T-TeleSec_GlobalRoot_Class_2.pem deleted file mode 100644 index 374b050..0000000 --- a/host/role/conf/vpn/T-TeleSec_GlobalRoot_Class_2.pem +++ /dev/null @@ -1,23 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx -KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd -BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl -YyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgxMDAxMTA0MDE0WhcNMzMxMDAxMjM1 -OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy -aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 -ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUd -AqSzm1nzHoqvNK38DcLZSBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiC -FoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/FvudocP05l03Sx5iRUKrERLMjfTlH6VJi -1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx9702cu+fjOlbpSD8DT6Iavq -jnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGVWOHAD3bZ -wI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGj -QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/ -WSA2AHmgoCJrjNXyYdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhy -NsZt+U2e+iKo4YFWz827n+qrkRk4r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPAC -uvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNfvNoBYimipidx5joifsFvHZVw -IEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR3p1m0IvVVGb6 -g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN -9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlP -BSeOE6Fuwg== ------END CERTIFICATE----- diff --git a/host/role/conf/vpn/kit.ovpn.nix b/host/role/conf/vpn/kit.ovpn.nix deleted file mode 100644 index 82a21ee..0000000 --- a/host/role/conf/vpn/kit.ovpn.nix +++ /dev/null @@ -1,19 +0,0 @@ -# adapted from https://www.scc.kit.edu/scc/net/openvpn/os/debian/kit.ovpn - -'' -client -remote 141.52.8.20 -port 1194 -dev tun -proto udp -auth-user-pass -nobind -comp-lzo no -tls-version-min 1.2 -ca ${./T-TeleSec_GlobalRoot_Class_2.pem} -verify-x509-name "C=DE, ST=Baden-Wuerttemberg, L=Karlsruhe, O=Karlsruhe Institute of Technology, OU=Steinbuch Centre for Computing, CN=ovpn.scc.kit.edu" subject -cipher AES-256-CBC -auth SHA384 -verb 3 -script-security 2 -'' diff --git a/host/role/desktop.nix b/host/role/desktop.nix deleted file mode 100644 index cf20500..0000000 --- a/host/role/desktop.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ pkgs, ... }: - -{ - fileSystems."/".options = [ "noatime" "nodiratime" "discard" ]; - - sound.enable = true; - hardware = { - opengl.driSupport32Bit = true; - pulseaudio = { - enable = true; - support32Bit = true; - }; - }; - - services = { - journald = { - extraConfig = ''Storage=volatile''; - }; - - openvpn.servers = { - KIT = { - config = import ./conf/vpn/kit.ovpn.nix; - autoStart = false; - }; - }; - - xserver = { - enable = true; - layout = "de"; - xkbOptions = "caps:escape"; - - displayManager.slim = { - enable = true; - autoLogin = true; - defaultUser = "common"; - }; - - desktopManager.default = "none"; - }; - }; - - environment.systemPackages = with pkgs; [ - hdparm ntfs3g - ]; -} diff --git a/host/software/asset/T-TeleSec_GlobalRoot_Class_2.pem b/host/software/asset/T-TeleSec_GlobalRoot_Class_2.pem new file mode 100644 index 0000000..374b050 --- /dev/null +++ b/host/software/asset/T-TeleSec_GlobalRoot_Class_2.pem @@ -0,0 +1,23 @@ +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx +KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd +BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl +YyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgxMDAxMTA0MDE0WhcNMzMxMDAxMjM1 +OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy +aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 +ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUd +AqSzm1nzHoqvNK38DcLZSBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiC +FoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/FvudocP05l03Sx5iRUKrERLMjfTlH6VJi +1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx9702cu+fjOlbpSD8DT6Iavq +jnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGVWOHAD3bZ +wI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGj +QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/ +WSA2AHmgoCJrjNXyYdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhy +NsZt+U2e+iKo4YFWz827n+qrkRk4r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPAC +uvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNfvNoBYimipidx5joifsFvHZVw +IEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR3p1m0IvVVGb6 +g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN +9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlP +BSeOE6Fuwg== +-----END CERTIFICATE----- diff --git a/host/software/asset/dir_colors b/host/software/asset/dir_colors new file mode 100644 index 0000000..bbe79d9 --- /dev/null +++ b/host/software/asset/dir_colors @@ -0,0 +1,218 @@ +# Configuration file for dircolors, a utility to help you set the +# LS_COLORS environment variable used by GNU ls with the --color option. +# Copyright (C) 1996-2015 Free Software Foundation, Inc. +# Copying and distribution of this file, with or without modification, +# are permitted provided the copyright notice and this notice are preserved. +# The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the +# slackware version of dircolors) are recognized but ignored. +# Below, there should be one TERM entry for each termtype that is colorizable +TERM Eterm +TERM ansi +TERM color-xterm +TERM con132x25 +TERM con132x30 +TERM con132x43 +TERM con132x60 +TERM con80x25 +TERM con80x28 +TERM con80x30 +TERM con80x43 +TERM con80x50 +TERM con80x60 +TERM cons25 +TERM console +TERM cygwin +TERM dtterm +TERM eterm-color +TERM gnome +TERM gnome-256color +TERM hurd +TERM jfbterm +TERM konsole +TERM kterm +TERM linux +TERM linux-c +TERM mach-color +TERM mach-gnu-color +TERM mlterm +TERM putty +TERM putty-256color +TERM rxvt +TERM rxvt-256color +TERM rxvt-cygwin +TERM rxvt-cygwin-native +TERM rxvt-unicode +TERM rxvt-unicode-256color +TERM rxvt-unicode256 +TERM screen +TERM screen-256color +TERM screen-256color-bce +TERM screen-bce +TERM screen-w +TERM screen.Eterm +TERM screen.rxvt +TERM screen.linux +TERM st +TERM st-256color +TERM terminator +TERM vt100 +TERM xterm +TERM xterm-16color +TERM xterm-256color +TERM xterm-88color +TERM xterm-color +TERM xterm-debian +TERM xterm-termite +TERM xterm-kitty +# Below are the color init strings for the basic file types. A color init +# string consists of one or more of the following numeric codes: +# Attribute codes: +# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed +# Text color codes: +# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white +# Background color codes: +# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white +#NORMAL 00 # no color code at all +#FILE 00 # regular file: use no color at all +RESET 0 # reset to "normal" color +DIR 00;32 # directory +LINK 01;36 # symbolic link. (If you set this to 'target' instead of a + # numerical value, the color is as for the file pointed to.) +MULTIHARDLINK 00 # regular file with more than one link +FIFO 40;33 # pipe +SOCK 01;35 # socket +DOOR 01;35 # door +BLK 40;33;01 # block device driver +CHR 40;33;01 # character device driver +ORPHAN 40;31;01 # symlink to nonexistent file, or non-stat'able file ... +MISSING 00 # ... and the files they point to +SETUID 37;41 # file that is setuid (u+s) +SETGID 30;43 # file that is setgid (g+s) +CAPABILITY 30;41 # file with capability +STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w) +OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky +STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable +# This is for files with execute permission: +EXEC 01;32 +# List any file extensions like '.gz' or '.tar' that you would like ls +# to colorize below. Put the extension, a space, and the color init string. +# (and any comments you want to add after a '#') +# If you use DOS-style suffixes, you may want to uncomment the following: +#.cmd 01;32 # executables (bright green) +#.exe 01;32 +#.com 01;32 +#.btm 01;32 +#.bat 01;32 +# Or if you want to colorize scripts even if they do not have the +# executable bit actually set. +#.sh 01;32 +#.csh 01;32 + # archives or compressed (bright red) +.tar 01;31 +.tgz 01;31 +.arc 01;31 +.arj 01;31 +.taz 01;31 +.lha 01;31 +.lz4 01;31 +.lzh 01;31 +.lzma 01;31 +.tlz 01;31 +.txz 01;31 +.tzo 01;31 +.t7z 01;31 +.zip 01;31 +.z 01;31 +.Z 01;31 +.dz 01;31 +.gz 01;31 +.lrz 01;31 +.lz 01;31 +.lzo 01;31 +.xz 01;31 +.bz2 01;31 +.bz 01;31 +.tbz 01;31 +.tbz2 01;31 +.tz 01;31 +.deb 01;31 +.rpm 01;31 +.jar 01;31 +.war 01;31 +.ear 01;31 +.sar 01;31 +.rar 01;31 +.alz 01;31 +.ace 01;31 +.zoo 01;31 +.cpio 01;31 +.7z 01;31 +.rz 01;31 +.cab 01;31 +# image formats +.jpg 01;35 +.jpeg 01;35 +.gif 01;35 +.bmp 01;35 +.pbm 01;35 +.pgm 01;35 +.ppm 01;35 +.tga 01;35 +.xbm 01;35 +.xpm 01;35 +.tif 01;35 +.tiff 01;35 +.png 01;35 +.svg 01;35 +.svgz 01;35 +.mng 01;35 +.pcx 01;35 +.mov 01;35 +.mpg 01;35 +.mpeg 01;35 +.m2v 01;35 +.mkv 01;35 +.webm 01;35 +.ogm 01;35 +.mp4 01;35 +.m4v 01;35 +.mp4v 01;35 +.vob 01;35 +.qt 01;35 +.nuv 01;35 +.wmv 01;35 +.asf 01;35 +.rm 01;35 +.rmvb 01;35 +.flc 01;35 +.avi 01;35 +.fli 01;35 +.flv 01;35 +.gl 01;35 +.dl 01;35 +.xcf 01;35 +.xwd 01;35 +.yuv 01;35 +.cgm 01;35 +.emf 01;35 +# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions +.ogv 01;35 +.ogx 01;35 +# audio formats +.aac 00;36 +.au 00;36 +.flac 00;36 +.m4a 00;36 +.mid 00;36 +.midi 00;36 +.mka 00;36 +.mp3 00;36 +.mpc 00;36 +.ogg 00;36 +.ra 00;36 +.wav 00;36 +# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions +.oga 00;36 +.opus 00;36 +.spx 00;36 +.xspf 00;36 diff --git a/host/software/code.kummerlaender.eu.nix b/host/software/code.kummerlaender.eu.nix new file mode 100644 index 0000000..b2507e4 --- /dev/null +++ b/host/software/code.kummerlaender.eu.nix @@ -0,0 +1,42 @@ +{ pkgs, ... }: + +{ + services = { + gitea = { + enable = true; + database.type = "sqlite3"; + + appName = "~/projects"; + domain = "code.kummerlaender.eu"; + rootUrl = "https://code.kummerlaender.eu/"; + httpPort = 3000; + + extraConfig = '' + [server] + LANDING_PAGE = "explore" + [service] + DISABLE_REGISTRATION = true + SHOW_REGISTRATION_BUTTON = false + [other] + SHOW_FOOTER_VERSION = false + SHOW_FOOTER_TEMPLATE_LOAD_TIME = false + [api] + ENABLE_SWAGGER_ENDPOINT = false + [picture] + DISABLE_GRAVATAR = true + [indexer] + REPO_INDEXER_ENABLED = true + ''; + }; + + nginx.virtualHosts."code.kummerlaender.eu" = { + addSSL = true; + enableACME = true; + locations = { + "/" = { + proxyPass = "http://localhost:3000/"; + }; + }; + }; + }; +} diff --git a/host/software/desktop.nix b/host/software/desktop.nix new file mode 100644 index 0000000..501a561 --- /dev/null +++ b/host/software/desktop.nix @@ -0,0 +1,42 @@ +{ pkgs, ... }: + +{ + imports = [ + ./kit.vpn.nix + ]; + + fileSystems."/".options = [ "noatime" "nodiratime" "discard" ]; + + sound.enable = true; + hardware = { + opengl.driSupport32Bit = true; + pulseaudio = { + enable = true; + support32Bit = true; + }; + }; + + services = { + journald = { + extraConfig = ''Storage=volatile''; + }; + + xserver = { + enable = true; + layout = "de"; + xkbOptions = "caps:escape"; + + displayManager.slim = { + enable = true; + autoLogin = true; + defaultUser = "common"; + }; + + desktopManager.default = "none"; + }; + }; + + environment.systemPackages = with pkgs; [ + hdparm ntfs3g + ]; +} diff --git a/host/software/fish.nix b/host/software/fish.nix new file mode 100644 index 0000000..d1e46c9 --- /dev/null +++ b/host/software/fish.nix @@ -0,0 +1,76 @@ +{ pkgs, ... }: + +{ + programs.fish = { + enable = true; + + shellInit = '' + set fish_greeting "" + ''; + + interactiveShellInit = '' + eval (dircolors -c ${./asset/dir_colors}) + + set fish_color_normal white + set fish_color_command magenta --bold + set fish_color_param green + set fish_color_error brred + set fish_color_operator cyan + set fish_color_comment white + set fish_color_cwd green + set fish_color_quote brown + set fish_color_autosuggestion 555 + set fish_color_redirection white + ''; + + promptInit = '' + function fish_prompt + set last_status $status + + if not set -q __fish_prompt_normal + set -g __fish_prompt_normal (set_color normal) + end + + switch $USER + case root + if not set -q __fish_prompt_cwd + if set -q fish_color_cwd_root + set -g __fish_prompt_cwd (set_color $fish_color_cwd_root) + else + set -g __fish_prompt_cwd (set_color $fish_color_cwd) + end + end + + case '*' + if not set -q __fish_prompt_cwd + set -g __fish_prompt_cwd (set_color $fish_color_cwd) + end + end + + echo -n -s 'λ ' "$__fish_prompt_cwd" (prompt_pwd) "$__fish_prompt_normal" + + if test $IN_NIX_SHELL + if test $NIX_SHELL_NAME + echo -n -s ' (' $NIX_SHELL_NAME ')' + else + echo -n -s ' (nix-shell)' + end + end + + if test $last_status -gt 0 + set_color $fish_color_cwd_root + echo -n -s ' ● ' + set_color normal + else + echo -n -s ' ● ' + end + end + + function fish_right_prompt + set_color $fish_color_autosuggestion + date '+%H:%M:%S' + set_color normal + end + ''; + }; +} diff --git a/host/software/kit.vpn.nix b/host/software/kit.vpn.nix new file mode 100644 index 0000000..726356d --- /dev/null +++ b/host/software/kit.vpn.nix @@ -0,0 +1,27 @@ +{ pkgs, ... }: + +{ + services.openvpn.servers = { + KIT = { + # adapted from https://www.scc.kit.edu/scc/net/openvpn/os/debian/kit.ovpn + config = '' + client + remote 141.52.8.20 + port 1194 + dev tun + proto udp + auth-user-pass + nobind + comp-lzo no + tls-version-min 1.2 + ca ${./asset/T-TeleSec_GlobalRoot_Class_2.pem} + verify-x509-name "C=DE, ST=Baden-Wuerttemberg, L=Karlsruhe, O=Karlsruhe Institute of Technology, OU=Steinbuch Centre for Computing, CN=ovpn.scc.kit.edu" subject + cipher AES-256-CBC + auth SHA384 + verb 3 + script-security 2 + ''; + autoStart = false; + }; + }; +} diff --git a/host/software/pkgs/vim/asset/rc.vim b/host/software/pkgs/vim/asset/rc.vim new file mode 100644 index 0000000..81f48e0 --- /dev/null +++ b/host/software/pkgs/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= wildmenu wildmode=full + +let mapleader="," + +map s :let @/="" +map c zz +map d + +nmap :e# +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 :bnext +nnoremap :bprev + +" select previous line on file reload, useful when cycling file extensions +autocmd BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | execute "normal! g`\" zz" | endif +nnoremap :CounterpointNext +nnoremap :CounterpointPrevious + +nnoremap gT +nnoremap gt +nnoremap @q +nnoremap J } +nnoremap K { + +nmap << +nmap >> +vmap >gv + +nmap [e +nmap ]e +vmap [egv +vmap ]egv + +nnoremap h +nnoremap l +nnoremap k +nnoremap 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 :MundoToggle +nnoremap :GitGutterToggle +nnoremap :SignatureToggleSigns +nnoremap :Goyo + +nnoremap :CtrlPBuffer +nnoremap :CtrlPMixed +nnoremap :CtrlPTag +nnoremap :CtrlPBufTag + +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 = '' diff --git a/host/software/pkgs/vim/asset/vim-color-akr/autoload/airline/themes/akr.vim b/host/software/pkgs/vim/asset/vim-color-akr/autoload/airline/themes/akr.vim new file mode 100644 index 0000000..1b847c4 --- /dev/null +++ b/host/software/pkgs/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/host/software/pkgs/vim/asset/vim-color-akr/colors/akr.vim b/host/software/pkgs/vim/asset/vim-color-akr/colors/akr.vim new file mode 100644 index 0000000..4ffd2ca --- /dev/null +++ b/host/software/pkgs/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/host/software/pkgs/vim/custom.nix b/host/software/pkgs/vim/custom.nix new file mode 100644 index 0000000..4719b72 --- /dev/null +++ b/host/software/pkgs/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/host/software/pkgs/vim/default.nix b/host/software/pkgs/vim/default.nix new file mode 100644 index 0000000..0b0001d --- /dev/null +++ b/host/software/pkgs/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/host/software/pkgs/vim/plugins.nix b/host/software/pkgs/vim/plugins.nix new file mode 100644 index 0000000..87abea4 --- /dev/null +++ b/host/software/pkgs/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/host/software/vim.nix b/host/software/vim.nix new file mode 100644 index 0000000..8bd9b7f --- /dev/null +++ b/host/software/vim.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: + +{ + environment.systemPackages = let + custom_vim = import ./pkgs/vim/default.nix pkgs; + in [ + custom_vim + ]; +} diff --git a/pkgs/vim/conf/rc.vim b/pkgs/vim/conf/rc.vim deleted file mode 100644 index 81f48e0..0000000 --- a/pkgs/vim/conf/rc.vim +++ /dev/null @@ -1,128 +0,0 @@ -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= wildmenu wildmode=full - -let mapleader="," - -map s :let @/="" -map c zz -map d - -nmap :e# -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 :bnext -nnoremap :bprev - -" select previous line on file reload, useful when cycling file extensions -autocmd BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | execute "normal! g`\" zz" | endif -nnoremap :CounterpointNext -nnoremap :CounterpointPrevious - -nnoremap gT -nnoremap gt -nnoremap @q -nnoremap J } -nnoremap K { - -nmap << -nmap >> -vmap >gv - -nmap [e -nmap ]e -vmap [egv -vmap ]egv - -nnoremap h -nnoremap l -nnoremap k -nnoremap 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 :MundoToggle -nnoremap :GitGutterToggle -nnoremap :SignatureToggleSigns -nnoremap :Goyo - -nnoremap :CtrlPBuffer -nnoremap :CtrlPMixed -nnoremap :CtrlPTag -nnoremap :CtrlPBufTag - -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 = '' diff --git a/pkgs/vim/conf/vim-color-akr/autoload/airline/themes/akr.vim b/pkgs/vim/conf/vim-color-akr/autoload/airline/themes/akr.vim deleted file mode 100644 index 1b847c4..0000000 --- a/pkgs/vim/conf/vim-color-akr/autoload/airline/themes/akr.vim +++ /dev/null @@ -1,86 +0,0 @@ -" 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/vim/conf/vim-color-akr/colors/akr.vim b/pkgs/vim/conf/vim-color-akr/colors/akr.vim deleted file mode 100644 index 4ffd2ca..0000000 --- a/pkgs/vim/conf/vim-color-akr/colors/akr.vim +++ /dev/null @@ -1,93 +0,0 @@ -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