Replace airline status line colors
diff --git a/src/apps/personal/kitty.nix b/src/apps/personal/kitty.nix
index b70d639..ec59385 100644
--- a/src/apps/personal/kitty.nix
+++ b/src/apps/personal/kitty.nix
@@ -1,22 +1,23 @@
 { pkgs, ... }: {
-  programs.kitty = {
-    enable = true;
+    programs.kitty = {
+        enable = true;
 
-    theme = "One Half";
+        theme = "One Half";
 
-    settings = {
-      enable_audio_bell = "no";
-      visual_bell_duration = "0.1";
-      symbol_map = "U+E0A0-U+E0A3,U+E0C0-U+E0C7 PowerlineSymbols";
+        settings = {
+            enable_audio_bell = "no";
+            visual_bell_duration = "0.1";
+            symbol_map = "U+E0A0-U+E0A3,U+E0C0-U+E0C7 PowerlineSymbols";
+            disable_ligatures = "cursor";
+        };
     };
-  };
 
-  programs.zsh.initExtra = ''
+    programs.zsh.initExtra = ''
     if test -n "$KITTY_INSTALLATION_DIR"; then
-      export KITTY_SHELL_INTEGRATION="enabled"
-      autoload -Uz -- "$KITTY_INSTALLATION_DIR"/shell-integration/zsh/kitty-integration
-      kitty-integration
-      unfunction kitty-integration
+    export KITTY_SHELL_INTEGRATION="enabled"
+    autoload -Uz -- "$KITTY_INSTALLATION_DIR"/shell-integration/zsh/kitty-integration
+    kitty-integration
+    unfunction kitty-integration
     fi
     '';
 
diff --git a/src/apps/personal/vim.nix b/src/apps/personal/vim.nix
index 5c40b75..ccd3434 100644
--- a/src/apps/personal/vim.nix
+++ b/src/apps/personal/vim.nix
@@ -1,4 +1,55 @@
 { pkgs, ... }: {
+    home.file.".config/nvim/autoload/airline/themes/onehalf.vim".text = ''
+    let g:airline#themes#onehalf#palette = {}
+    function! airline#themes#onehalf#refresh()
+
+    " guifg guibg ctermfg ctermbg
+    let s:black       = { "gui": "#282c34", "cterm": "236" }
+    let s:red         = { "gui": "#e06c75", "cterm": "168" }
+    let s:green       = { "gui": "#98c379", "cterm": "114" }
+    let s:yellow      = { "gui": "#e5c07b", "cterm": "180" }
+    let s:blue        = { "gui": "#61afef", "cterm": "75"  }
+    let s:purple      = { "gui": "#c678dd", "cterm": "176" }
+    let s:cyan        = { "gui": "#56b6c2", "cterm": "73"  }
+    let s:white       = { "gui": "#dcdfe4", "cterm": "188" }
+    let s:statusline  = { "gui": "#313640", "cterm": "237" }
+    let s:lightgrey   = { "gui": "#474e5d", "cterm": "237" }
+
+    function! s:generateAirlinePalette(primary)
+    return {
+        \ 'airline_a'      : [s:black.gui, a:primary.gui, s:black.cterm, a:primary.cterm],
+        \ 'airline_b'      : [s:white.gui, s:lightgrey.gui, s:white.cterm, s:lightgrey.cterm],
+        \ 'airline_c'      : [a:primary.gui, s:statusline.gui, a:primary.cterm, s:statusline.cterm],
+        \ 'airline_x'      : [a:primary.gui, s:statusline.gui, a:primary.cterm, s:statusline.cterm],
+        \ 'airline_y'      : [s:white.gui, s:lightgrey.gui, s:white.cterm, s:lightgrey.cterm],
+        \ 'airline_z'      : [s:black.gui, a:primary.gui, s:black.cterm, a:primary.cterm],
+        \ 'airline_warning': [s:black.gui, s:yellow.gui, s:black.cterm, s:yellow.cterm],
+        \ 'airline_error'  : [s:black.gui, s:red.gui, s:black.cterm, s:red.cterm]}
+    endfunction
+
+    let g:airline#themes#onehalf#palette.normal      = s:generateAirlinePalette(s:green)
+    let g:airline#themes#onehalf#palette.visual      = s:generateAirlinePalette(s:purple)
+    let g:airline#themes#onehalf#palette.select      = s:generateAirlinePalette(s:purple)
+    let g:airline#themes#onehalf#palette.multi       = s:generateAirlinePalette(s:purple)
+    let g:airline#themes#onehalf#palette.insert      = s:generateAirlinePalette(s:blue)
+    let g:airline#themes#onehalf#palette.commandline = s:generateAirlinePalette(s:red)
+    let g:airline#themes#onehalf#palette.terminal    = s:generateAirlinePalette(s:cyan)
+    let g:airline#themes#onehalf#palette.replace     = s:generateAirlinePalette(s:yellow)
+    let g:airline#themes#onehalf#palette.ctrlp       = s:generateAirlinePalette(s:white)
+    let g:airline#themes#onehalf#palette.inactive    = s:generateAirlinePalette(s:lightgrey)
+    let g:airline#themes#onehalf#palette.normal_modified      = s:generateAirlinePalette(s:green)
+    let g:airline#themes#onehalf#palette.visual_modified      = s:generateAirlinePalette(s:purple)
+    let g:airline#themes#onehalf#palette.select_modified      = s:generateAirlinePalette(s:purple)
+    let g:airline#themes#onehalf#palette.multi_modified       = s:generateAirlinePalette(s:purple)
+    let g:airline#themes#onehalf#palette.insert_modified      = s:generateAirlinePalette(s:blue)
+    let g:airline#themes#onehalf#palette.commandline_modified = s:generateAirlinePalette(s:red)
+    let g:airline#themes#onehalf#palette.terminal_modified    = s:generateAirlinePalette(s:cyan)
+    let g:airline#themes#onehalf#palette.replace_modified     = s:generateAirlinePalette(s:yellow)
+    let g:airline#themes#onehalf#palette.ctrlp_modified       = s:generateAirlinePalette(s:white)
+    endfunction
+
+    call airline#themes#onehalf#refresh()
+    '';
     programs.neovim = {
         enable = true;
         coc = {
@@ -30,6 +81,7 @@
         set hidden
         set encoding=utf-8
         set scrolloff=5
+        set signcolumn=yes
         colorscheme onehalfdark
 
         command W w
@@ -65,6 +117,10 @@
         let g:airline#extensions#hunks#coc_git = 1
         let g:airline#extensions#whitespace#enabled = 1
 
+
+        let g:airline#parts#ffenc#skip_expected_string='utf-8[unix]'
+
+        let g:VM_mouse_mappings = 1
         nnoremap <silent> <leader>gg :LazyGit<CR>
 
         let g:airline#extensions#tabline#buffer_idx_mode = 1
@@ -189,7 +245,8 @@
         autocmd BufWinEnter ?* call s:loadViewOrUnfold()
 
 
-        :let g:airline_highlighting_cache = 1
+        let g:airline_highlighting_cache = 1
+        let g:airline_theme = "onehalf"
         autocmd VimEnter * call vista#RunForNearestMethodOrFunction()
         '';
 
@@ -224,7 +281,6 @@
             vim-gitgutter
             ctrlp-vim
             vim-airline-clock
-            vim-airline-themes
             lazygit-nvim
             (nvim-treesitter.withPlugins (plugins: pkgs.tree-sitter.allGrammars))
         ];