Evie Litherland-Smith
a6f84783ab
Move some settings/packages from desktop.nix that should have been in hyprland.nix and make desktop properly generally relevant - switch gamescope.nix to import from desktop.nix now for less duplication Remove xserver/lightdm to just use greetd again, less overhead needed Switch gtklock back to swaylock, some issue with WLR implementations after update but swaylock still works fine
323 lines
9.5 KiB
Nix
323 lines
9.5 KiB
Nix
{ config, lib, pkgs, ... }: {
|
||
stylix.targets = {
|
||
avizo.enable = true;
|
||
foot.enable = true;
|
||
fzf.enable = true;
|
||
mako.enable = true;
|
||
rofi.enable = true;
|
||
swaylock.enable = true;
|
||
xresources.enable = true;
|
||
zathura.enable = true;
|
||
zellij.enable = true;
|
||
};
|
||
xdg.configFile = {
|
||
"style.css".text = with config.lib.stylix.colors.withHashtag; ''
|
||
@define-color base00 ${base00};
|
||
@define-color base01 ${base01};
|
||
@define-color base02 ${base02};
|
||
@define-color base03 ${base03};
|
||
@define-color base04 ${base04};
|
||
@define-color base05 ${base05};
|
||
@define-color base06 ${base06};
|
||
@define-color base07 ${base07};
|
||
@define-color base08 ${base08};
|
||
@define-color base09 ${base09};
|
||
@define-color base0A ${base0A};
|
||
@define-color base0B ${base0B};
|
||
@define-color base0C ${base0C};
|
||
@define-color base0D ${base0D};
|
||
@define-color base0E ${base0E};
|
||
@define-color base0F ${base0F};
|
||
'';
|
||
"bat/themes/Catppuccin-mocha.tmTheme".source = ./Catppuccin-mocha.tmTheme;
|
||
};
|
||
programs = rec {
|
||
bash.enable = true;
|
||
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";
|
||
};
|
||
};
|
||
eza = {
|
||
enable = true;
|
||
git = true;
|
||
icons = true;
|
||
enableAliases = true;
|
||
extraOptions = [ "--octal-permissions" ];
|
||
};
|
||
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;
|
||
};
|
||
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 = bat.config.theme;
|
||
};
|
||
};
|
||
extraConfig = {
|
||
github.user = "elitherl";
|
||
pull.rebase = false;
|
||
init.defaultBranch = "main";
|
||
merge.conflictstyle = "diff3";
|
||
diff.colorMoved = "default";
|
||
credential.helper = "${pkgs.gitFull}/bin/git-credential-libsecret";
|
||
};
|
||
};
|
||
gitui = {
|
||
enable = true;
|
||
theme = ''
|
||
(
|
||
selected_tab: Some(Reset),
|
||
command_fg: Some(Rgb(205, 214, 244)),
|
||
selection_bg: Some(Rgb(88, 91, 112)),
|
||
selection_fg: Some(Rgb(205, 214, 244)),
|
||
cmdbar_bg: Some(Rgb(24, 24, 37)),
|
||
cmdbar_extra_lines_bg: Some(Rgb(24, 24, 37)),
|
||
disabled_fg: Some(Rgb(127, 132, 156)),
|
||
diff_line_add: Some(Rgb(166, 227, 161)),
|
||
diff_line_delete: Some(Rgb(243, 139, 168)),
|
||
diff_file_added: Some(Rgb(249, 226, 175)),
|
||
diff_file_removed: Some(Rgb(235, 160, 172)),
|
||
diff_file_moved: Some(Rgb(203, 166, 247)),
|
||
diff_file_modified: Some(Rgb(250, 179, 135)),
|
||
commit_hash: Some(Rgb(180, 190, 254)),
|
||
commit_time: Some(Rgb(186, 194, 222)),
|
||
commit_author: Some(Rgb(116, 199, 236)),
|
||
danger_fg: Some(Rgb(243, 139, 168)),
|
||
push_gauge_bg: Some(Rgb(137, 180, 250)),
|
||
push_gauge_fg: Some(Rgb(30, 30, 46)),
|
||
tag_fg: Some(Rgb(245, 224, 220)),
|
||
branch_fg: Some(Rgb(148, 226, 213))
|
||
)
|
||
'';
|
||
};
|
||
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 = "xenia";
|
||
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;
|
||
enableTransience = 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 = " ";
|
||
};
|
||
};
|
||
};
|
||
zellij = {
|
||
enable = true;
|
||
enableBashIntegration = true;
|
||
enableZshIntegration = true;
|
||
};
|
||
zsh = {
|
||
enable = true;
|
||
enableAutosuggestions = true;
|
||
enableCompletion = true;
|
||
syntaxHighlighting.enable = true;
|
||
enableVteIntegration = true;
|
||
autocd = true;
|
||
historySubstringSearch.enable = true;
|
||
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 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 = [ "colored-man-pages" "lol" "rand-quote" ];
|
||
theme = "";
|
||
};
|
||
};
|
||
};
|
||
}
|