Add nix config

This commit is contained in:
Martin
2024-03-25 14:43:39 +01:00
parent 2cdf1bf701
commit a56014849a
14 changed files with 457 additions and 44 deletions

11
config/nix/user/dev.nix Normal file
View File

@ -0,0 +1,11 @@
{ config, pkgs, ... }:
{
programs.direnv = {
enable = true;
enableZshIntegration = true;
nix-direnv.enable = true;
};
programs.ripgrep.enable = true;
}

27
config/nix/user/git.nix Normal file
View File

@ -0,0 +1,27 @@
{ config, pkgs, ... }:
{
programs.git = {
enable = true;
aliases = {
st = "status";
ci = "commit";
co = "checkout";
br = "branch";
pl = "pull";
ps = "push";
mno =" merge --no-ff";
lg = "log --color --graph --pretty=format:'%cred%h%creset -%c(yellow)%d%creset %s %cgreen(%cr)%c(bold blue)<%an>%creset' --abbrev-commit";
};
difftastic.enable = true;
extraConfig = {
core = {
editor = "nvim";
};
push.default = "matching";
};
};
}

View File

@ -0,0 +1,13 @@
{ config, pkgs, ... }:
{
home.username = "moustachioed";
home.homeDirectory = "/Users/moustachioed";
home.stateVersion = "23.11"; # Please read the comment before changing.
programs.git = {
userName = "Martin";
userEmail = "git@pander-on.de";
};
}

View File

@ -0,0 +1,13 @@
{ config, pkgs, ... }:
{
home.username = "moustachioed";
home.homeDirectory = "/Users/moustachioed";
home.stateVersion = "23.11"; # Please read the comment before changing.
programs.git = {
userName = "Martin Pander";
userEmail = "martin.pander@knowtion.de";
};
}

73
config/nix/user/sh.nix Normal file
View File

@ -0,0 +1,73 @@
{ config, pkgs, ... }:
{
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
history.size = 500000;
#history.path = "${config.xdg.dataHome}/zsh/history";
prezto = {
enable = true;
caseSensitive = true;
color = true;
editor = {
dotExpansion = true;
keymap = "vi";
};
pmodules = [
"environment"
"terminal"
"editor"
"history"
"directory"
"spectrum"
"utility"
"completion"
"syntax-highlighting"
"history-substring-search"
"prompt"
"git"
];
prompt.theme = "minimal";
syntaxHighlighting.highlighters = [
"main"
"brackets"
"pattern"
"line"
"cursor"
"root"
];
tmux = {
autoStartLocal = true;
itermIntegration = true;
};
};
initExtra = ''
HISTCONTROL='erasedups:ignoreboth'
HISTIGNORE='&:[ ]*:exit:ls:bg:fg:history:clear'
unsetopt beep
'';
};
programs.fzf = {
enable = true;
enableZshIntegration = true;
};
programs.lsd = {
enable = true;
enableAliases = true;
};
programs.bat.enable = true;
programs.ripgrep.enable = true;
home.packages = with pkgs; [
du-dust
#nerdfonts
];
}

16
config/nix/user/task.nix Normal file
View File

@ -0,0 +1,16 @@
{config, pkgs, ...}:
{
programs.taskwarrior = {
enable = true;
};
home.packages = with pkgs; [
taskwarrior-tui
];
home.shellAliases = {
t = "task";
tt = "taskwarrior-tui";
};
}

58
config/nix/user/tmux.nix Normal file
View File

@ -0,0 +1,58 @@
{ config, pkgs, ... }:
{
programs.tmux = {
enable = true;
shortcut = "a";
mouse = true;
keyMode = "vi";
escapeTime = 0;
extraConfig = ''
set -g display-time 1500
unbind S
bind S command-prompt "switch -t %1"
bind-key -n M-K switch-client -p
bind-key -n M-J switch-client -n
bind-key -n M-L next-window
bind-key -n M-H previous-window
bind '"' split-window -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
bind c new-window -a -c "#{pane_current_path}"
#######################################
# status line
#######################################
set -g status-justify centre
set -g status-left "#[bg=#808080,fg=#ffffff,bold] #S #[default]#[bg=#BCBCBC] #{-30:pane_title} "
set -g status-left-length 40
set -g status-right "#[bg=#BCBCBC] %H:%M #[bg=#808080,fg=#ffffff] %d.%m.%y "
# setw -g window-status-format " #W#F "
# setw -g window-status-current-format " #W#F "
setw -g window-status-format " #W "
setw -g window-status-current-format " #W "
setw -g window-status-separator ""
#######################################
# colors, taken from vim-lucius
#######################################
set -g status-style "bg=#DADADA,fg=#000000"
setw -g window-status-style "bg=#BCBCBC,fg=#000000"
setw -g window-status-current-style "bg=#808080,fg=#ffffff"
setw -g window-status-activity-style "bg=#AFD7AF,fg=#000000"
setw -g window-status-bell-style "bg=#AFD7AF,fg=#000000"
#setw -g window-status-content-style "bg=#AFD7AF,fg=#000000"
set -g pane-active-border-style "bg=#eeeeee,fg=#006699"
set -g pane-border-style "bg=#eeeeee,fg=#999999"
'';
};
}