modularize neovim and terminal
This commit is contained in:
parent
85dfcfdb72
commit
001642dc94
|
@ -7,6 +7,11 @@
|
|||
...
|
||||
}:
|
||||
with lib; {
|
||||
|
||||
imports = [
|
||||
./modules
|
||||
];
|
||||
|
||||
xdg.enable = true;
|
||||
|
||||
programs = {
|
||||
|
|
11
home/modules/default.nix
Normal file
11
home/modules/default.nix
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./terminal
|
||||
./neovim.nix
|
||||
];
|
||||
}
|
48
home/modules/neovim.nix
Normal file
48
home/modules/neovim.nix
Normal file
|
@ -0,0 +1,48 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.local.apps.neovim;
|
||||
in {
|
||||
options.local.apps.neovim = {
|
||||
enable = mkEnableOption "Neovim settings";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
defaultEditor = true;
|
||||
|
||||
extraConfig = ''
|
||||
set nobackup
|
||||
set showmatch " show matching
|
||||
set hlsearch " highlight search
|
||||
set incsearch " incremental search
|
||||
set tabstop=4 " number of columns occupied by a tab
|
||||
set softtabstop=4 " see multiple spaces as tabstops so <BS> does the right thing
|
||||
set shiftwidth=4 " width for autoindents
|
||||
set autoindent " indent a new line the same amount as the line just typed
|
||||
set number " add line numbers
|
||||
set wildmode=longest,list " get bash-like tab completions
|
||||
set cc=80 " set an 80 column border for good coding style
|
||||
filetype plugin indent on " allow auto-indenting depending on file type
|
||||
syntax on " syntax highlighting
|
||||
set mouse=a " enable mouse click
|
||||
set clipboard=unnamedplus " using system clipboard
|
||||
filetype plugin on
|
||||
set cursorline " highlight current cursorline
|
||||
set ttyfast " Speed up scrolling in Vim
|
||||
set noswapfile " disable creating swap file
|
||||
'';
|
||||
|
||||
plugins = with pkgs.vimPlugins; [
|
||||
vim-nix
|
||||
vim-multiple-cursors
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
37
home/modules/terminal/default.nix
Normal file
37
home/modules/terminal/default.nix
Normal file
|
@ -0,0 +1,37 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.local.apps.terminal;
|
||||
in {
|
||||
options.local.apps.terminal.enable = mkEnableOption "Terminal emulator settings";
|
||||
config = mkIf cfg.enable {
|
||||
programs = {
|
||||
kitty = {
|
||||
enable = true;
|
||||
extraConfig = import ./kitty.conf.nix;
|
||||
};
|
||||
|
||||
tmux = {
|
||||
enable = true;
|
||||
aggressiveResize = true;
|
||||
clock24 = true;
|
||||
escapeTime = 10;
|
||||
terminal = "xterm-256color";
|
||||
keyMode = "emacs";
|
||||
|
||||
extraConfig = ''
|
||||
set -g mouse on
|
||||
set -ga update-environment " LIFT_PID"
|
||||
set -g set-titles on
|
||||
set -g renumber-windows on
|
||||
set -sa terminal-overrides ',xterm-termite:RGB'
|
||||
set -g status-right "#{?window_bigger,[#{window_offset_x}#,#{window_offset_y}] ,} %H:%M %d-%b-%y"
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -6,8 +6,6 @@
|
|||
}: {
|
||||
imports = [
|
||||
./steam
|
||||
./terminal
|
||||
./neovim.nix
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
|
|
|
@ -1,40 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
defaultEditor = true;
|
||||
|
||||
extraConfig = ''
|
||||
set nobackup
|
||||
set showmatch " show matching
|
||||
set hlsearch " highlight search
|
||||
set incsearch " incremental search
|
||||
set tabstop=4 " number of columns occupied by a tab
|
||||
set softtabstop=4 " see multiple spaces as tabstops so <BS> does the right thing
|
||||
set shiftwidth=4 " width for autoindents
|
||||
set autoindent " indent a new line the same amount as the line just typed
|
||||
set number " add line numbers
|
||||
set wildmode=longest,list " get bash-like tab completions
|
||||
set cc=80 " set an 80 column border for good coding style
|
||||
filetype plugin indent on " allow auto-indenting depending on file type
|
||||
syntax on " syntax highlighting
|
||||
set mouse=a " enable mouse click
|
||||
set clipboard=unnamedplus " using system clipboard
|
||||
filetype plugin on
|
||||
set cursorline " highlight current cursorline
|
||||
set ttyfast " Speed up scrolling in Vim
|
||||
set noswapfile " disable creating swap file
|
||||
'';
|
||||
|
||||
plugins = with pkgs.vimPlugins; [
|
||||
vim-nix
|
||||
vim-multiple-cursors
|
||||
];
|
||||
};
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.local.apps.terminal;
|
||||
in {
|
||||
kitty = {
|
||||
enable = true;
|
||||
extraConfig = import ./kitty.conf.nix;
|
||||
};
|
||||
|
||||
tmux = {
|
||||
enable = true;
|
||||
aggressiveResize = true;
|
||||
clock24 = true;
|
||||
escapeTime = 10;
|
||||
terminal = "xterm-256color";
|
||||
keyMode = "emacs";
|
||||
|
||||
extraConfig = ''
|
||||
set -g mouse on
|
||||
set -ga update-environment " LIFT_PID"
|
||||
set -g set-titles on
|
||||
set -g renumber-windows on
|
||||
set -sa terminal-overrides ',xterm-termite:RGB'
|
||||
set -g status-right "#{?window_bigger,[#{window_offset_x}#,#{window_offset_y}] ,} %H:%M %d-%b-%y"
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -12,6 +12,9 @@
|
|||
./isolation.nix
|
||||
];
|
||||
|
||||
local.apps.terminal.enable = true;
|
||||
local.apps.neovim.enable = true;
|
||||
|
||||
nix.registry = {
|
||||
"system".to = {
|
||||
type = "path";
|
||||
|
|
Loading…
Reference in a new issue