Evie Litherland-Smith
94e1a23bf2
Switched back to tokyo-night for base scheme but disable a lot of stylix config (and selectively re-enable for certain modules). Manually theme things using the tokyonight palette for a nicer and more cohesive experience Also change to a new wallpaper, fits scheme better as well Added named workspaces for common programs (emacs, chromium, steam) and keep numbered workspaces as generic scratch space Move MPRIS to right section, add hyprland/window module (with a separator bar)
259 lines
7.2 KiB
Nix
259 lines
7.2 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
{
|
|
xdg.configFile."bat/themes/tokyonight_night.tmTheme".source =
|
|
./tokyonight_night.tmTheme;
|
|
programs = {
|
|
bash.enable = true;
|
|
readline = {
|
|
enable = true;
|
|
includeSystemConfig = true;
|
|
extraConfig = ''
|
|
set completion-ignore-case On
|
|
'';
|
|
};
|
|
direnv = {
|
|
enable = true;
|
|
nix-direnv.enable = true;
|
|
enableBashIntegration = true;
|
|
enableZshIntegration = true;
|
|
};
|
|
fzf = {
|
|
enable = true;
|
|
enableBashIntegration = true;
|
|
enableZshIntegration = true;
|
|
};
|
|
bat.enable = true;
|
|
git = {
|
|
enable = true;
|
|
package = pkgs.gitFull;
|
|
userName = "Evie Litherland-Smith";
|
|
userEmail = lib.mkDefault "evie@xenia.me.uk";
|
|
delta = {
|
|
enable = true;
|
|
options = {
|
|
line-numbers = true;
|
|
hyprlinks = true;
|
|
navigate = true;
|
|
side-by-side = true;
|
|
syntax-theme = "tokyonight_night";
|
|
};
|
|
};
|
|
extraConfig = {
|
|
pull.rebase = false;
|
|
init.defaultBranch = "main";
|
|
merge.conflictstyle = "diff3";
|
|
diff.colorMoved = "default";
|
|
credential.helper = "${pkgs.gitFull}/bin/git-credential-libsecret";
|
|
};
|
|
};
|
|
ssh = {
|
|
enable = true;
|
|
forwardAgent = true;
|
|
serverAliveInterval = 15;
|
|
serverAliveCountMax = 3;
|
|
controlMaster = "auto";
|
|
controlPersist = "10s";
|
|
extraConfig = ''
|
|
AddKeysToAgent=yes
|
|
SetEnv TERM=xterm-256color
|
|
'';
|
|
matchBlocks = {
|
|
"git*".user = "git";
|
|
"legion" = {
|
|
user = "root";
|
|
hostname = "192.168.1.230";
|
|
};
|
|
"ionos" = {
|
|
user = "root";
|
|
hostname = "77.68.67.133";
|
|
};
|
|
"freia" = {
|
|
user = "elitherl";
|
|
hostname = "freia020.hpc.l";
|
|
compression = true;
|
|
localForwards = [{
|
|
bind.port = 6702;
|
|
host = {
|
|
address = "127.0.0.1";
|
|
port = 6702;
|
|
};
|
|
}];
|
|
};
|
|
"heimdall" = {
|
|
user = "elitherl";
|
|
hostname = "heimdall003.jet.uk";
|
|
compression = true;
|
|
};
|
|
};
|
|
};
|
|
starship = {
|
|
enable = true;
|
|
enableBashIntegration = true;
|
|
enableZshIntegration = true;
|
|
settings = {
|
|
command_timeout = 1000;
|
|
add_newline = true;
|
|
character = {
|
|
success_symbol = "[➜](bold green)";
|
|
error_symbol = "[✗](bold red)";
|
|
};
|
|
directory = {
|
|
truncation_length = 2;
|
|
fish_style_pwd_dir_length = 1;
|
|
read_only = " ";
|
|
truncate_to_repo = false;
|
|
};
|
|
line_break.disabled = false;
|
|
git_branch = {
|
|
symbol = " ";
|
|
only_attached = true;
|
|
ignore_branches = [ "master" "main" ];
|
|
};
|
|
git_commit = {
|
|
format = "[ $hash | $tag]($style) ";
|
|
tag_symbol = " ";
|
|
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)";
|
|
style = "bold blue";
|
|
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";
|
|
};
|
|
rust = { symbol = " "; };
|
|
shell = {
|
|
disabled = false;
|
|
format = "using [$indicator ]($style)";
|
|
};
|
|
sudo = {
|
|
disabled = false;
|
|
symbol = " ";
|
|
};
|
|
};
|
|
};
|
|
tmux = {
|
|
enable = true;
|
|
baseIndex = 1;
|
|
clock24 = true;
|
|
keyMode = "emacs";
|
|
mouse = true;
|
|
secureSocket = true;
|
|
sensibleOnTop = true;
|
|
shortcut = "Space";
|
|
terminal = "xterm-256color";
|
|
plugins = with pkgs.tmuxPlugins; [ yank tmux-fzf ];
|
|
extraConfig = ''
|
|
# https://old.reddit.com/r/tmux/comments/mesrci/tmux_2_doesnt_seem_to_use_256_colors/
|
|
set -ga terminal-overrides ",*256col*,alacritty:Tc"
|
|
set -ga terminal-overrides '*:Ss=\E[%p1%d q:Se=\E[ q'
|
|
set-environment -g COLORTERM "truecolor"
|
|
|
|
# easy-to-remember split pane commands
|
|
bind | split-window -h -c "#{pane_current_path}"
|
|
bind - split-window -v -c "#{pane_current_path}"
|
|
bind c new-window -c "#{pane_current_path}"
|
|
'';
|
|
};
|
|
zsh = {
|
|
enable = true;
|
|
enableAutosuggestions = true;
|
|
enableCompletion = true;
|
|
syntaxHighlighting.enable = true;
|
|
enableVteIntegration = true;
|
|
autocd = true;
|
|
dotDir = ".config/zsh";
|
|
historySubstringSearch.enable = true;
|
|
history.path = "${config.xdg.dataHome}/zsh/history";
|
|
initExtra = ''
|
|
xdg-query-program () {
|
|
FILETYPE=$(xdg-mime query filetype $@)
|
|
DEFAULT=$(xdg-mime query default $FILETYPE)
|
|
echo "$FILETYPE -> $DEFAULT"
|
|
}
|
|
rsync-local-config () {
|
|
HOST=$1
|
|
for TARGET in bat git emacs/init.el starship.toml; do
|
|
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 = [
|
|
# Productivity
|
|
"aliases"
|
|
"colored-man-pages"
|
|
"command-not-found"
|
|
"extract"
|
|
# Build tools
|
|
"git"
|
|
"gitignore"
|
|
# Misc
|
|
"lol"
|
|
"rand-quote"
|
|
];
|
|
theme = "";
|
|
};
|
|
};
|
|
};
|
|
}
|