2023-12-16 22:47:32 +00:00
|
|
|
|
{ config, lib, pkgs, ... }: {
|
2023-11-12 14:13:03 +00:00
|
|
|
|
stylix.targets = {
|
|
|
|
|
avizo.enable = true;
|
2023-12-28 11:37:22 +00:00
|
|
|
|
foot.enable = true;
|
2023-11-12 14:13:03 +00:00
|
|
|
|
fzf.enable = true;
|
2023-12-18 08:34:16 +00:00
|
|
|
|
rofi.enable = true;
|
2024-01-03 15:40:21 +00:00
|
|
|
|
swaylock.enable = true;
|
2023-11-12 14:13:03 +00:00
|
|
|
|
xresources.enable = true;
|
|
|
|
|
};
|
2024-01-10 20:13:09 +00:00
|
|
|
|
xdg.configFile."bat/themes/Catppuccin-mocha.tmTheme".source =
|
|
|
|
|
./Catppuccin-mocha.tmTheme;
|
2023-12-18 08:15:18 +00:00
|
|
|
|
programs = rec {
|
2023-09-20 09:00:22 +01:00
|
|
|
|
bash.enable = true;
|
2023-12-18 08:15:18 +00:00
|
|
|
|
bat = {
|
|
|
|
|
enable = true;
|
|
|
|
|
config.theme = "Catppuccin-mocha";
|
|
|
|
|
};
|
|
|
|
|
bottom = {
|
|
|
|
|
enable = true;
|
|
|
|
|
settings.colors = {
|
|
|
|
|
table_header_color = "#f5e0dc";
|
|
|
|
|
all_cpu_color = "#f5e0dc";
|
|
|
|
|
avg_cpu_color = "#eba0ac";
|
|
|
|
|
cpu_core_colors =
|
|
|
|
|
[ "#f38ba8" "#fab387" "#f9e2af" "#a6e3a1" "#74c7ec" "#cba6f7" ];
|
|
|
|
|
ram_color = "#a6e3a1";
|
|
|
|
|
swap_color = "#fab387";
|
|
|
|
|
rx_color = "#a6e3a1";
|
|
|
|
|
tx_color = "#f38ba8";
|
|
|
|
|
widget_title_color = "#f2cdcd";
|
|
|
|
|
border_color = "#585b70";
|
|
|
|
|
highlighted_border_color = "#f5c2e7";
|
|
|
|
|
text_color = "#cdd6f4";
|
|
|
|
|
graph_color = "#a6adc8";
|
|
|
|
|
cursor_color = "#f5c2e7";
|
|
|
|
|
selected_text_color = "#11111b";
|
|
|
|
|
selected_bg_color = "#cba6f7";
|
|
|
|
|
high_battery_color = "#a6e3a1";
|
|
|
|
|
medium_battery_color = "#f9e2af";
|
|
|
|
|
low_battery_color = "#f38ba8";
|
|
|
|
|
gpu_core_colors =
|
|
|
|
|
[ "#74c7ec" "#cba6f7" "#f38ba8" "#fab387" "#f9e2af" "#a6e3a1" ];
|
|
|
|
|
arc_color = "#89dceb";
|
|
|
|
|
};
|
|
|
|
|
};
|
2023-11-29 07:17:41 +00:00
|
|
|
|
eza = {
|
|
|
|
|
enable = true;
|
|
|
|
|
git = true;
|
|
|
|
|
icons = true;
|
|
|
|
|
enableAliases = true;
|
|
|
|
|
extraOptions = [ "--octal-permissions" ];
|
|
|
|
|
};
|
2023-09-20 09:00:22 +01:00
|
|
|
|
readline = {
|
|
|
|
|
enable = true;
|
|
|
|
|
includeSystemConfig = true;
|
|
|
|
|
extraConfig = ''
|
|
|
|
|
set completion-ignore-case On
|
|
|
|
|
'';
|
|
|
|
|
};
|
|
|
|
|
direnv = {
|
|
|
|
|
enable = true;
|
|
|
|
|
nix-direnv.enable = true;
|
|
|
|
|
enableBashIntegration = true;
|
2023-12-26 08:06:29 +00:00
|
|
|
|
enableZshIntegration = true;
|
2023-09-20 09:00:22 +01:00
|
|
|
|
};
|
2023-10-09 11:40:25 +01:00
|
|
|
|
fzf = {
|
|
|
|
|
enable = true;
|
|
|
|
|
enableBashIntegration = true;
|
2023-12-26 08:06:29 +00:00
|
|
|
|
enableZshIntegration = true;
|
2023-10-09 11:40:25 +01:00
|
|
|
|
};
|
|
|
|
|
git = {
|
|
|
|
|
enable = true;
|
|
|
|
|
userName = "Evie Litherland-Smith";
|
|
|
|
|
userEmail = lib.mkDefault "evie@xenia.me.uk";
|
|
|
|
|
delta = {
|
|
|
|
|
enable = true;
|
|
|
|
|
options = {
|
|
|
|
|
line-numbers = true;
|
2023-10-20 15:23:16 +01:00
|
|
|
|
hyprlinks = true;
|
2023-10-09 11:40:25 +01:00
|
|
|
|
navigate = true;
|
|
|
|
|
side-by-side = true;
|
2023-12-18 08:15:18 +00:00
|
|
|
|
syntax-theme = bat.config.theme;
|
2023-10-09 11:40:25 +01:00
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
extraConfig = {
|
2023-11-29 07:45:23 +00:00
|
|
|
|
github.user = "elitherl";
|
2023-12-19 14:46:38 +00:00
|
|
|
|
pull.rebase = false;
|
2023-10-09 11:40:25 +01:00
|
|
|
|
init.defaultBranch = "main";
|
2023-10-20 15:23:16 +01:00
|
|
|
|
merge.conflictstyle = "diff3";
|
|
|
|
|
diff.colorMoved = "default";
|
2023-10-09 11:40:25 +01:00
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
ssh = {
|
|
|
|
|
enable = true;
|
|
|
|
|
forwardAgent = true;
|
2024-01-05 07:35:37 +00:00
|
|
|
|
addKeysToAgent = "yes";
|
|
|
|
|
compression = true;
|
2023-10-09 11:40:25 +01:00
|
|
|
|
serverAliveInterval = 15;
|
|
|
|
|
serverAliveCountMax = 3;
|
|
|
|
|
controlMaster = "auto";
|
|
|
|
|
controlPersist = "10s";
|
|
|
|
|
extraConfig = ''
|
|
|
|
|
SetEnv TERM=xterm-256color
|
|
|
|
|
'';
|
|
|
|
|
matchBlocks = {
|
2023-10-20 15:23:16 +01:00
|
|
|
|
"git*".user = "git";
|
2023-10-09 11:40:25 +01:00
|
|
|
|
"legion" = {
|
2023-12-12 06:58:43 +00:00
|
|
|
|
user = "xenia";
|
2023-10-09 11:40:25 +01:00
|
|
|
|
hostname = "192.168.1.230";
|
|
|
|
|
};
|
|
|
|
|
"ionos" = {
|
|
|
|
|
user = "root";
|
|
|
|
|
hostname = "77.68.67.133";
|
|
|
|
|
};
|
2023-10-20 15:23:16 +01:00
|
|
|
|
"freia" = {
|
2023-10-09 11:40:25 +01:00
|
|
|
|
user = "elitherl";
|
2023-10-20 15:23:16 +01:00
|
|
|
|
hostname = "freia020.hpc.l";
|
|
|
|
|
localForwards = [{
|
2024-01-14 14:38:40 +00:00
|
|
|
|
bind.port = 5915;
|
2023-10-20 15:23:16 +01:00
|
|
|
|
host = {
|
|
|
|
|
address = "127.0.0.1";
|
2024-01-14 14:38:40 +00:00
|
|
|
|
port = 5915;
|
2023-10-20 15:23:16 +01:00
|
|
|
|
};
|
|
|
|
|
}];
|
2023-10-09 11:40:25 +01:00
|
|
|
|
};
|
2023-11-02 11:04:49 +00:00
|
|
|
|
"heimdall" = {
|
|
|
|
|
user = "elitherl";
|
|
|
|
|
hostname = "heimdall003.jet.uk";
|
2024-01-14 14:38:40 +00:00
|
|
|
|
localForwards = [{
|
|
|
|
|
bind.port = 6702;
|
|
|
|
|
host = {
|
|
|
|
|
address = "127.0.0.1";
|
|
|
|
|
port = 6702;
|
|
|
|
|
};
|
|
|
|
|
}];
|
2023-11-02 11:04:49 +00:00
|
|
|
|
};
|
2023-10-09 11:40:25 +01:00
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
starship = {
|
|
|
|
|
enable = true;
|
|
|
|
|
enableBashIntegration = true;
|
2023-12-26 08:06:29 +00:00
|
|
|
|
enableZshIntegration = true;
|
2023-12-05 06:19:51 +00:00
|
|
|
|
enableTransience = true;
|
2023-10-09 11:40:25 +01:00
|
|
|
|
settings = {
|
|
|
|
|
command_timeout = 1000;
|
|
|
|
|
add_newline = true;
|
|
|
|
|
character = {
|
2023-12-05 06:19:51 +00:00
|
|
|
|
success_symbol = "[❯](bold green)";
|
|
|
|
|
error_symbol = "[❯](bold red)";
|
2023-10-09 11:40:25 +01:00
|
|
|
|
};
|
|
|
|
|
directory = {
|
|
|
|
|
truncation_length = 2;
|
|
|
|
|
fish_style_pwd_dir_length = 1;
|
|
|
|
|
read_only = " ";
|
|
|
|
|
truncate_to_repo = false;
|
|
|
|
|
};
|
|
|
|
|
line_break.disabled = false;
|
|
|
|
|
git_branch = {
|
2023-10-13 09:55:41 +01:00
|
|
|
|
symbol = " ";
|
2023-10-09 11:40:25 +01:00
|
|
|
|
only_attached = true;
|
|
|
|
|
ignore_branches = [ "master" "main" ];
|
|
|
|
|
};
|
|
|
|
|
git_commit = {
|
2023-10-15 17:02:24 +01:00
|
|
|
|
format = "[ $hash | $tag]($style) ";
|
|
|
|
|
tag_symbol = " ";
|
2023-10-09 11:40:25 +01:00
|
|
|
|
tag_disabled = false;
|
|
|
|
|
};
|
|
|
|
|
git_metrics.disabled = false;
|
|
|
|
|
hostname = {
|
|
|
|
|
ssh_only = true;
|
|
|
|
|
ssh_symbol = " ";
|
|
|
|
|
};
|
|
|
|
|
localip.disabled = false;
|
|
|
|
|
memory_usage = {
|
|
|
|
|
disabled = false;
|
|
|
|
|
symbol = " ";
|
|
|
|
|
};
|
|
|
|
|
nix_shell.symbol = " ";
|
|
|
|
|
os = {
|
|
|
|
|
disabled = false;
|
|
|
|
|
format = "on [$symbol $name ]($style)";
|
2023-10-15 12:27:16 +01:00
|
|
|
|
style = "bold blue";
|
2023-10-09 11:40:25 +01:00
|
|
|
|
symbols = {
|
|
|
|
|
Alpine = " ";
|
|
|
|
|
Android = " ";
|
|
|
|
|
Arch = " ";
|
|
|
|
|
CentOS = " ";
|
|
|
|
|
Debian = " ";
|
|
|
|
|
EndeavourOS = " ";
|
|
|
|
|
Fedora = " ";
|
|
|
|
|
FreeBSD = " ";
|
|
|
|
|
Gentoo = " ";
|
|
|
|
|
Illumos = " ";
|
|
|
|
|
Linux = " ";
|
|
|
|
|
Macos = " ";
|
|
|
|
|
Manjaro = " ";
|
|
|
|
|
Mint = " ";
|
|
|
|
|
NixOS = " ";
|
|
|
|
|
OpenBSD = " ";
|
|
|
|
|
openSUSE = " ";
|
|
|
|
|
Pop = " ";
|
|
|
|
|
Raspbian = " ";
|
|
|
|
|
Redhat = " ";
|
|
|
|
|
RedHatEnterprise = " ";
|
|
|
|
|
Solus = " ";
|
|
|
|
|
SUSE = " ";
|
|
|
|
|
Ubuntu = " ";
|
|
|
|
|
Unknown = " ";
|
|
|
|
|
Windows = " ";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
python = {
|
|
|
|
|
symbol = " ";
|
|
|
|
|
python_binary = "python3";
|
|
|
|
|
};
|
2023-10-15 17:02:24 +01:00
|
|
|
|
rust = { symbol = " "; };
|
2023-10-09 11:40:25 +01:00
|
|
|
|
shell = {
|
|
|
|
|
disabled = false;
|
|
|
|
|
format = "using [$indicator ]($style)";
|
|
|
|
|
};
|
|
|
|
|
sudo = {
|
|
|
|
|
disabled = false;
|
|
|
|
|
symbol = " ";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
2023-12-26 08:06:29 +00:00
|
|
|
|
zsh = {
|
|
|
|
|
enable = true;
|
|
|
|
|
enableAutosuggestions = true;
|
|
|
|
|
enableCompletion = true;
|
|
|
|
|
syntaxHighlighting.enable = true;
|
|
|
|
|
enableVteIntegration = true;
|
|
|
|
|
autocd = true;
|
|
|
|
|
historySubstringSearch.enable = true;
|
|
|
|
|
initExtra = ''
|
2024-01-14 12:59:17 +00:00
|
|
|
|
git-sync-all () {
|
2024-01-14 13:00:54 +00:00
|
|
|
|
for DIRECTORY in $HOME/.nixos $HOME/.emacs $HOME/.password-store $HOME/.elfeed $HOME/Documents/Org $HOME/Documents/References; do
|
2024-01-14 12:59:17 +00:00
|
|
|
|
echo "--- $DIRECTORY ---"
|
2024-01-14 13:05:48 +00:00
|
|
|
|
mkdir -p $DIRECTORY
|
2024-01-14 13:04:39 +00:00
|
|
|
|
cd $DIRECTORY && git-sync
|
|
|
|
|
cd -
|
2024-01-14 12:59:17 +00:00
|
|
|
|
done
|
|
|
|
|
}
|
2023-12-26 08:06:29 +00:00
|
|
|
|
xdg-query-program () {
|
|
|
|
|
FILETYPE=$(xdg-mime query filetype $@)
|
|
|
|
|
DEFAULT=$(xdg-mime query default $FILETYPE)
|
|
|
|
|
echo "$FILETYPE -> $DEFAULT"
|
|
|
|
|
}
|
|
|
|
|
rsync-local-config () {
|
|
|
|
|
HOST=$1
|
2023-12-26 08:10:09 +00:00
|
|
|
|
for TARGET in bat git starship.toml; do
|
2023-12-26 08:06:29 +00:00
|
|
|
|
SOURCE="${config.xdg.configHome}/$TARGET"
|
|
|
|
|
TMP_TARGET=/tmp/rsync-local-config
|
|
|
|
|
TMP_SOURCE=$TMP_TARGET
|
|
|
|
|
NIX_SED="${pkgs.gnused}/bin/sed -i 's|/nix/.*/bin/||g'"
|
|
|
|
|
NIX_REPLACE="$NIX_SED $TMP_TARGET"
|
|
|
|
|
if [[ -e ${config.xdg.configHome}/$TARGET ]]; then
|
|
|
|
|
if [[ -d $SOURCE ]]; then
|
|
|
|
|
SOURCE=$SOURCE/
|
|
|
|
|
TMP_SOURCE=$TMP_SOURCE/
|
|
|
|
|
NIX_REPLACE="${pkgs.fd}/bin/fd -g '**' $TMP_TARGET -tfile -x $NIX_SED {};"
|
|
|
|
|
fi
|
|
|
|
|
${pkgs.rsync}/bin/rsync -avzL --exclude=".git*" $SOURCE $TMP_TARGET
|
|
|
|
|
${pkgs.coreutils}/bin/chmod u+rw -R $TMP_SOURCE
|
|
|
|
|
${pkgs.bash}/bin/sh -c "$NIX_REPLACE"
|
|
|
|
|
${pkgs.rsync}/bin/rsync -avzL --delete --exclude=".git*" $TMP_SOURCE $HOST:.config/$TARGET
|
|
|
|
|
${pkgs.coreutils}/bin/rm -rf $TMP_SOURCE
|
|
|
|
|
fi
|
|
|
|
|
done
|
|
|
|
|
}
|
|
|
|
|
'';
|
|
|
|
|
oh-my-zsh = {
|
|
|
|
|
enable = true;
|
|
|
|
|
plugins = [ "colored-man-pages" "lol" "rand-quote" ];
|
|
|
|
|
theme = "";
|
|
|
|
|
};
|
|
|
|
|
};
|
2023-09-20 09:00:22 +01:00
|
|
|
|
};
|
2023-09-15 07:13:52 +01:00
|
|
|
|
}
|