modularize neovim and terminal
This commit is contained in:
parent
85dfcfdb72
commit
001642dc94
|
@ -7,6 +7,11 @@
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; {
|
with lib; {
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./modules
|
||||||
|
];
|
||||||
|
|
||||||
xdg.enable = true;
|
xdg.enable = true;
|
||||||
|
|
||||||
programs = {
|
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 = [
|
imports = [
|
||||||
./steam
|
./steam
|
||||||
./terminal
|
|
||||||
./neovim.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
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
|
./isolation.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
local.apps.terminal.enable = true;
|
||||||
|
local.apps.neovim.enable = true;
|
||||||
|
|
||||||
nix.registry = {
|
nix.registry = {
|
||||||
"system".to = {
|
"system".to = {
|
||||||
type = "path";
|
type = "path";
|
||||||
|
|
Loading…
Reference in a new issue