mirror of
https://github.com/gburd/nix-config.git
synced 2024-11-15 00:36:25 +00:00
186 lines
4.2 KiB
Nix
186 lines
4.2 KiB
Nix
|
{ config, lib, pkgs, ... }: {
|
||
|
home = {
|
||
|
file = {
|
||
|
"${config.xdg.configHome}/neofetch/config.conf".text = builtins.readFile ./neofetch.conf;
|
||
|
};
|
||
|
packages = with pkgs; [
|
||
|
neofetch
|
||
|
];
|
||
|
sessionVariables = {
|
||
|
EDITOR = "micro";
|
||
|
MANPAGER = "sh -c 'col --no-backspaces --spaces | bat --language man'";
|
||
|
SYSTEMD_EDITOR = "micro";
|
||
|
VISUAL = "micro";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
programs = {
|
||
|
atuin = {
|
||
|
enable = true;
|
||
|
enableBashIntegration = true;
|
||
|
enableFishIntegration = true;
|
||
|
flags = [
|
||
|
"--disable-up-arrow"
|
||
|
];
|
||
|
package = pkgs.unstable.atuin;
|
||
|
settings = {
|
||
|
auto_sync = true;
|
||
|
dialect = "uk";
|
||
|
show_preview = true;
|
||
|
style = "compact";
|
||
|
sync_frequency = "1h";
|
||
|
sync_address = "https://api.atuin.sh";
|
||
|
update_check = false;
|
||
|
};
|
||
|
};
|
||
|
bat = {
|
||
|
enable = true;
|
||
|
extraPackages = with pkgs.bat-extras; [
|
||
|
batwatch
|
||
|
prettybat
|
||
|
];
|
||
|
};
|
||
|
bottom = {
|
||
|
enable = true;
|
||
|
settings = {
|
||
|
colors = {
|
||
|
high_battery_color = "green";
|
||
|
medium_battery_color = "yellow";
|
||
|
low_battery_color = "red";
|
||
|
};
|
||
|
disk_filter = {
|
||
|
is_list_ignored = true;
|
||
|
list = [ "/dev/loop" ];
|
||
|
regex = true;
|
||
|
case_sensitive = false;
|
||
|
whole_word = false;
|
||
|
};
|
||
|
flags = {
|
||
|
dot_marker = false;
|
||
|
enable_gpu_memory = true;
|
||
|
group_processes = true;
|
||
|
hide_table_gap = true;
|
||
|
mem_as_value = true;
|
||
|
tree = true;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
dircolors = {
|
||
|
enable = true;
|
||
|
enableBashIntegration = true;
|
||
|
enableFishIntegration = true;
|
||
|
};
|
||
|
direnv = {
|
||
|
enable = true;
|
||
|
enableBashIntegration = true;
|
||
|
nix-direnv = {
|
||
|
enable = true;
|
||
|
};
|
||
|
};
|
||
|
exa = {
|
||
|
enable = true;
|
||
|
enableAliases = true;
|
||
|
icons = true;
|
||
|
};
|
||
|
fish = {
|
||
|
enable = true;
|
||
|
shellAliases = {
|
||
|
cat = "bat --paging=never --style=plain";
|
||
|
htop = "btm --basic --tree --hide_table_gap --dot_marker --mem_as_value";
|
||
|
ip = "ip --color --brief";
|
||
|
less = "bat --paging=always";
|
||
|
more = "bat --paging=always";
|
||
|
top = "btm --basic --tree --hide_table_gap --dot_marker --mem_as_value";
|
||
|
tree = "exa --tree";
|
||
|
};
|
||
|
};
|
||
|
gh = {
|
||
|
enable = true;
|
||
|
extensions = with pkgs; [ gh-markdown-preview ];
|
||
|
settings = {
|
||
|
editor = "micro";
|
||
|
git_protocol = "ssh";
|
||
|
prompt = "enabled";
|
||
|
};
|
||
|
};
|
||
|
git = {
|
||
|
enable = true;
|
||
|
delta = {
|
||
|
enable = true;
|
||
|
options = {
|
||
|
features = "decorations";
|
||
|
navigate = true;
|
||
|
side-by-side = true;
|
||
|
};
|
||
|
};
|
||
|
aliases = {
|
||
|
lg = "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit";
|
||
|
};
|
||
|
extraConfig = {
|
||
|
push = {
|
||
|
default = "matching";
|
||
|
};
|
||
|
pull = {
|
||
|
rebase = true;
|
||
|
};
|
||
|
init = {
|
||
|
defaultBranch = "main";
|
||
|
};
|
||
|
};
|
||
|
ignores = [
|
||
|
"*.log"
|
||
|
"*.out"
|
||
|
".DS_Store"
|
||
|
"bin/"
|
||
|
"dist/"
|
||
|
"result"
|
||
|
];
|
||
|
};
|
||
|
gpg.enable = true;
|
||
|
home-manager.enable = true;
|
||
|
info.enable = true;
|
||
|
jq.enable = true;
|
||
|
micro = {
|
||
|
enable = true;
|
||
|
settings = {
|
||
|
colorscheme = "simple";
|
||
|
diffgutter = true;
|
||
|
rmtrailingws = true;
|
||
|
savecursor = true;
|
||
|
saveundo = true;
|
||
|
scrollbar = true;
|
||
|
};
|
||
|
};
|
||
|
powerline-go = {
|
||
|
enable = true;
|
||
|
settings = {
|
||
|
cwd-max-depth = 5;
|
||
|
cwd-max-dir-size = 12;
|
||
|
max-width = 60;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
services = {
|
||
|
gpg-agent = {
|
||
|
enable = true;
|
||
|
enableSshSupport = true;
|
||
|
pinentryFlavor = "curses";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
# Nicely reload system units when changing configs
|
||
|
systemd.user.startServices = "sd-switch";
|
||
|
|
||
|
xdg = {
|
||
|
enable = true;
|
||
|
userDirs = {
|
||
|
enable = true;
|
||
|
createDirectories = lib.mkDefault true;
|
||
|
extraConfig = {
|
||
|
XDG_SCREENSHOTS_DIR = "${config.home.homeDirectory}/Pictures/Screenshots";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
}
|