move some stuff around
This commit is contained in:
124
home-manager/progs/alacritty.nix
Normal file
124
home-manager/progs/alacritty.nix
Normal file
@@ -0,0 +1,124 @@
|
||||
{ pkgs }:
|
||||
{
|
||||
#use the fish shell
|
||||
shell.program = "${pkgs.fish}/bin/fish";
|
||||
|
||||
#some programs can't handle alacritty
|
||||
env.TERM = "xterm-256color";
|
||||
|
||||
window = {
|
||||
#using a window manager, no decorations needed
|
||||
decorations = "none";
|
||||
|
||||
#semi-transparent
|
||||
opacity = 0.95;
|
||||
|
||||
#padding between the content of the terminal and the edge
|
||||
padding = {
|
||||
x = 10;
|
||||
y = 10;
|
||||
};
|
||||
|
||||
dimensions = {
|
||||
columns = 80;
|
||||
lines = 40;
|
||||
};
|
||||
};
|
||||
|
||||
scrolling = {
|
||||
history = 1000;
|
||||
multiplier = 3;
|
||||
};
|
||||
|
||||
font =
|
||||
let
|
||||
baseFont = {
|
||||
family = "JetBrains Mono Nerd Font";
|
||||
style = "Regular";
|
||||
};
|
||||
in
|
||||
{
|
||||
size = 12;
|
||||
|
||||
normal = baseFont;
|
||||
|
||||
bold = baseFont // {
|
||||
style = "Bold";
|
||||
};
|
||||
|
||||
italic = baseFont // {
|
||||
style = "Italic";
|
||||
};
|
||||
|
||||
offset.y = 0;
|
||||
glyph_offset.y = 0;
|
||||
};
|
||||
|
||||
#color scheme
|
||||
colors =
|
||||
let
|
||||
normal = {
|
||||
black = "0x1b1e28";
|
||||
red = "0xd0679d";
|
||||
green = "0x5de4c7";
|
||||
yellow = "0xfffac2";
|
||||
blue = "#435c89";
|
||||
magenta = "0xfcc5e9";
|
||||
cyan = "0xadd7ff";
|
||||
white = "0xffffff";
|
||||
};
|
||||
|
||||
bright = {
|
||||
black = "0xa6accd";
|
||||
red = normal.red;
|
||||
green = normal.green;
|
||||
yellow = normal.yellow;
|
||||
blue = normal.cyan;
|
||||
magenta = "0xfae4fc";
|
||||
cyan = "0x89ddff";
|
||||
white = normal.white;
|
||||
};
|
||||
in
|
||||
{
|
||||
inherit normal bright;
|
||||
primary = {
|
||||
background = "0x131621";
|
||||
foreground = bright.black;
|
||||
};
|
||||
|
||||
cursor = {
|
||||
text = "CellBackground";
|
||||
cursor = "CellForeground";
|
||||
};
|
||||
|
||||
search =
|
||||
let
|
||||
foreground = normal.black;
|
||||
background = normal.cyan;
|
||||
in
|
||||
{
|
||||
matches = {
|
||||
inherit foreground background;
|
||||
};
|
||||
|
||||
focused_match = {
|
||||
inherit foreground background;
|
||||
};
|
||||
};
|
||||
|
||||
selection = {
|
||||
text = "CellForeground";
|
||||
background = "0x303340";
|
||||
};
|
||||
|
||||
vi_mode_cursor = {
|
||||
text = "CellBackground";
|
||||
cursor = "CellForeground";
|
||||
};
|
||||
};
|
||||
|
||||
cursor = {
|
||||
style = "Underline";
|
||||
vi_mode_style = "Underline";
|
||||
};
|
||||
}
|
||||
46
home-manager/progs/borg.nix
Normal file
46
home-manager/progs/borg.nix
Normal file
@@ -0,0 +1,46 @@
|
||||
{ homeDirectory, borgPasswordFile }:
|
||||
{
|
||||
|
||||
home = {
|
||||
location = {
|
||||
sourceDirectories =
|
||||
# stuff in my home directory:
|
||||
(
|
||||
map (f: "${homeDirectory}/${f}") [
|
||||
".zen"
|
||||
".local/share/fish"
|
||||
".gnupg"
|
||||
".config/Signal"
|
||||
".wallpaper.png"
|
||||
".ssh"
|
||||
|
||||
"dotfiles"
|
||||
"Documents"
|
||||
"projects"
|
||||
"Pictures"
|
||||
"school"
|
||||
"justfile"
|
||||
]
|
||||
);
|
||||
|
||||
excludeHomeManagerSymlinks = true;
|
||||
repositories = [ "ssh://server-public/tank/bak/laptop" ];
|
||||
|
||||
extraConfig = {
|
||||
compression = "zstd";
|
||||
};
|
||||
};
|
||||
|
||||
retention = {
|
||||
keepHourly = 48;
|
||||
keepDaily = 30;
|
||||
keepWeekly = 26;
|
||||
keepMonthly = 24;
|
||||
keepYearly = 10;
|
||||
};
|
||||
|
||||
storage = {
|
||||
encryptionPasscommand = "cat ${borgPasswordFile}";
|
||||
};
|
||||
};
|
||||
}
|
||||
65
home-manager/progs/fish.nix
Normal file
65
home-manager/progs/fish.nix
Normal file
@@ -0,0 +1,65 @@
|
||||
{ pkgs }:
|
||||
let
|
||||
eza = "${pkgs.eza}/bin/eza --color=always --group-directories-first";
|
||||
cargo = "${pkgs.cargo}/bin/cargo";
|
||||
coreutil = "${pkgs.coreutils}/bin";
|
||||
in
|
||||
{
|
||||
enable = true;
|
||||
|
||||
interactiveShellInit = ''
|
||||
#disable greeting
|
||||
set fish_greeting
|
||||
|
||||
#fixes gnupg password entry
|
||||
export GPG_TTY=(${coreutil}/tty)
|
||||
|
||||
#pfetch on shell start (disable pkgs because of execution time)
|
||||
PF_INFO="ascii title os host kernel uptime memory editor wm" ${pkgs.pfetch-rs}/bin/pfetch
|
||||
'';
|
||||
|
||||
shellAliases = {
|
||||
c = cargo;
|
||||
cr = "${cargo} run";
|
||||
cb = "${cargo} build";
|
||||
|
||||
# I hate the red background
|
||||
run0 = "run0 --background=\"\"";
|
||||
|
||||
# from DistroTube's dot files: Changing "ls" to "eza"
|
||||
ls = "${eza} -al";
|
||||
la = "${eza} -a";
|
||||
ll = "${eza} -l";
|
||||
lt = "${eza} -aT";
|
||||
|
||||
# gets the largest files in a git repo's history
|
||||
"git-size" = ''
|
||||
${pkgs.git}/bin/git rev-list --objects --all |
|
||||
${pkgs.git}/bin/git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' |
|
||||
${pkgs.gnused}/bin/sed -n 's/^blob //p' |
|
||||
${coreutil}/sort --numeric-sort --key=2 |
|
||||
${coreutil}/cut -c 1-12,41- |
|
||||
${coreutil}/numfmt --field=2 --to=iec-i --suffix=B --padding=7 --round=nearest'';
|
||||
|
||||
#aliases for (I think) macos commands
|
||||
pbcopy = "${pkgs.wl-clipboard}/bin/wl-copy";
|
||||
pbpaste = "${pkgs.wl-clipboard}/bin/wl-paste";
|
||||
};
|
||||
|
||||
shellInit = ''
|
||||
fish_add_path ~/.local/bin
|
||||
fish_add_path ~/.cargo/bin
|
||||
set hydro_color_pwd 62A
|
||||
set hydro_color_error red
|
||||
set hydro_color_duration yellow
|
||||
set hydro_color_prompt green
|
||||
set hydro_color_git blue
|
||||
'';
|
||||
|
||||
plugins = [
|
||||
{
|
||||
name = "hydro";
|
||||
src = pkgs.fishPlugins.hydro.src;
|
||||
}
|
||||
];
|
||||
}
|
||||
19
home-manager/progs/gpt4all-HEAD-disable-settings-err.patch
Normal file
19
home-manager/progs/gpt4all-HEAD-disable-settings-err.patch
Normal file
@@ -0,0 +1,19 @@
|
||||
diff --git a/main.qml b/main.qml
|
||||
index 1e685385..7c747eba 100644
|
||||
--- a/main.qml
|
||||
+++ b/main.qml
|
||||
@@ -72,12 +72,14 @@ Window {
|
||||
return;
|
||||
}
|
||||
|
||||
+ /*
|
||||
// check if we have access to settings and if not show an error
|
||||
if (!hasShownSettingsAccess && !LLM.hasSettingsAccess()) {
|
||||
errorSettingsAccess.open();
|
||||
hasShownSettingsAccess = true;
|
||||
return;
|
||||
}
|
||||
+ */
|
||||
|
||||
// check for first time start of this version
|
||||
if (!hasCheckedFirstStart) {
|
||||
@@ -0,0 +1,19 @@
|
||||
diff --git a/main.qml b/main.qml
|
||||
index 1e685385..7c747eba 100644
|
||||
--- a/main.qml
|
||||
+++ b/main.qml
|
||||
@@ -72,12 +72,14 @@ Window {
|
||||
return;
|
||||
}
|
||||
|
||||
+ /*
|
||||
// check if we have access to settings and if not show an error
|
||||
if (!hasShownSettingsAccess && !LLM.hasSettingsAccess()) {
|
||||
errorSettingsAccess.open();
|
||||
hasShownSettingsAccess = true;
|
||||
return;
|
||||
}
|
||||
+ */
|
||||
|
||||
// check for first time start of this version
|
||||
if (!hasCheckedFirstStart) {
|
||||
@@ -0,0 +1,53 @@
|
||||
commit 425b33877c819dd88f3692aae37452c767371f6b
|
||||
Author: Simon Gardling <titaniumtown@proton.me>
|
||||
Date: Thu Sep 19 10:00:39 2024 -0400
|
||||
|
||||
use locally downloaded embeddings
|
||||
|
||||
diff --git a/gpt4all-chat/CMakeLists.txt b/gpt4all-chat/CMakeLists.txt
|
||||
index 900307ae..802fc31a 100644
|
||||
--- a//CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -120,6 +120,7 @@ elseif (APPLE)
|
||||
endif()
|
||||
|
||||
# Embedding model
|
||||
+#[[
|
||||
set(LOCAL_EMBEDDING_MODEL "nomic-embed-text-v1.5.f16.gguf")
|
||||
set(LOCAL_EMBEDDING_MODEL_MD5 "a5401e7f7e46ed9fcaed5b60a281d547")
|
||||
set(LOCAL_EMBEDDING_MODEL_PATH "${CMAKE_BINARY_DIR}/resources/${LOCAL_EMBEDDING_MODEL}")
|
||||
@@ -134,6 +135,7 @@ message(STATUS "Embedding model downloaded to ${LOCAL_EMBEDDING_MODEL_PATH}")
|
||||
if (APPLE)
|
||||
list(APPEND CHAT_EXE_RESOURCES "${LOCAL_EMBEDDING_MODEL_PATH}")
|
||||
endif()
|
||||
+]]
|
||||
|
||||
set(QAPPLICATION_CLASS QGuiApplication)
|
||||
add_subdirectory(deps/SingleApplication)
|
||||
@@ -348,11 +350,13 @@ if (LLMODEL_CUDA)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
+#[[
|
||||
if (NOT APPLE)
|
||||
install(FILES "${LOCAL_EMBEDDING_MODEL_PATH}"
|
||||
DESTINATION resources
|
||||
COMPONENT ${COMPONENT_NAME_MAIN})
|
||||
endif()
|
||||
+]]
|
||||
|
||||
set(CPACK_GENERATOR "IFW")
|
||||
set(CPACK_VERBATIM_VARIABLES YES)
|
||||
diff --git a/gpt4all-chat/src/embllm.cpp b/gpt4all-chat/src/embllm.cpp
|
||||
index 81b1e9e1..e3266cc7 100644
|
||||
--- a/src/embllm.cpp
|
||||
+++ b/src/embllm.cpp
|
||||
@@ -84,7 +84,7 @@ bool EmbeddingLLMWorker::loadModel()
|
||||
|
||||
QString filePath = embPathFmt.arg(QCoreApplication::applicationDirPath(), LOCAL_EMBEDDING_MODEL);
|
||||
if (!QFileInfo::exists(filePath)) {
|
||||
- qWarning() << "embllm WARNING: Local embedding model not found";
|
||||
+ qWarning() << "embllm WARNING: Local embedding model not found: " << filePath;
|
||||
return false;
|
||||
}
|
||||
|
||||
124
home-manager/progs/gpt4all/gpt4all.nix
Normal file
124
home-manager/progs/gpt4all/gpt4all.nix
Normal file
@@ -0,0 +1,124 @@
|
||||
{ pkgs, lib, ... }:
|
||||
let
|
||||
models = [
|
||||
{
|
||||
name = "Qwen2.5-14B-Instruct-Q4_K_S.gguf";
|
||||
context_length = "32768";
|
||||
gen_length = "8192";
|
||||
source = pkgs.fetchurl {
|
||||
url = "https://huggingface.co/bartowski/Qwen2.5-14B-Instruct-GGUF/resolve/main/Qwen2.5-14B-Instruct-Q4_K_S.gguf?download=true";
|
||||
sha256 = "E1CmWUhMMbTXEjIRczzA3rSrVuR8qOL8BLagw7LiyZk=";
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "Qwen2.5-7B-Instruct-Q6_K_L.gguf";
|
||||
context_length = "32768";
|
||||
gen_length = "8192";
|
||||
source = pkgs.fetchurl {
|
||||
url = "https://huggingface.co/bartowski/Qwen2.5-7B-Instruct-GGUF/resolve/main/Qwen2.5-7B-Instruct-Q6_K_L.gguf?download=true";
|
||||
sha256 = "thEXN06T/UVGfzdB83jlgpG7kuTzZtz1ZUAdupAnErM=";
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
# stolen from: https://stackoverflow.com/a/42398526
|
||||
optimizeWithFlags =
|
||||
pkg: flags:
|
||||
pkgs.lib.overrideDerivation pkg (
|
||||
old:
|
||||
let
|
||||
newflags = pkgs.lib.foldl' (acc: x: "${acc} ${x}") "" flags;
|
||||
oldflags = if (pkgs.lib.hasAttr "NIX_CFLAGS_COMPILE" old) then "${old.NIX_CFLAGS_COMPILE}" else "";
|
||||
in
|
||||
{
|
||||
NIX_CFLAGS_COMPILE = "${oldflags} ${newflags}";
|
||||
stdenv = pkgs.clangStdenv;
|
||||
}
|
||||
);
|
||||
|
||||
model_files = builtins.listToAttrs (
|
||||
map (f: {
|
||||
name = ".local/share/nomic.ai/GPT4All/${f.name}";
|
||||
value = {
|
||||
source = f.source;
|
||||
};
|
||||
}) models
|
||||
);
|
||||
|
||||
gpt4all_package = (
|
||||
optimizeWithFlags
|
||||
(pkgs.gpt4all.overrideAttrs (old: {
|
||||
# https://github.com/NixOS/nixpkgs/pull/344001 3.2.1 -> 3.3.0
|
||||
version = "3.3.0";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
fetchSubmodules = true;
|
||||
owner = "nomic-ai";
|
||||
repo = "gpt4all";
|
||||
rev = "HEAD";
|
||||
sha256 = "RDYf+VaI5pl46Cd04ADvvi4ygNfYa4fY9rTv9Ui3qUk=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./gpt4all-HEAD-embeddings-model.patch
|
||||
./gpt4all-HEAD-disable-settings-err.patch
|
||||
];
|
||||
}))
|
||||
# compile flags
|
||||
[
|
||||
"-Ofast"
|
||||
"-march=native"
|
||||
"-mtune=native"
|
||||
"-fno-protect-parens"
|
||||
"-fno-finite-math-only" # https://github.com/ggerganov/llama.cpp/pull/7154#issuecomment-2143844461
|
||||
]
|
||||
);
|
||||
|
||||
in
|
||||
{
|
||||
home.packages = [
|
||||
gpt4all_package
|
||||
];
|
||||
|
||||
home.file = lib.recursiveUpdate {
|
||||
".config/nomic.ai/GPT4All.ini".text =
|
||||
let
|
||||
system_prompt = "You are an expert AI assistant who is thoughtful and works step-by-step from first principles derive an answer to the user's prompt. For each step, provide a title that describes what you're doing in that step, along with the content. Decide if you need another step or if you're ready to provide your answer to the user, make sure to exhaust ALL POSSIBILITIES before providing a response to the user. While your reasoning is not shown to the user, it is under high levels of scrutiny to ensure high-quality reasoning. WHEN YOU DETERMINE THAT YOU ARE READY TO GIVE A FINAL ANSWER TO THE USER GIVEN YOUR REASONING AND STEP-BY-STEP WORK. ONLY TEXT WRITTEN AFTER A SECTION NAMED \"Final Answer\" WILL BE SHOWN TO THE USER. ASSUME THAT NO REASONING STEPS ARE SHOWN TO THE USER. DO NOT THINK THAT THE USER CAN SEE YOUR INTERNAL REASONING STEPS.
|
||||
USE AS MANY REASONING STEPS AS POSSIBLE. AT LEAST 3. BE AWARE OF YOUR LIMITATIONS AS AN LLM AND WHAT YOU CAN AND CANNOT DO. EXPLORE ALTERNATE ANSWERS AND CONSIDER THAT YOUR ANSWER MAY BE WRONG. IDENTIFY POSSIBLE ERRORS IN YOUR REASONING AND WHERE SUCH ERRORS MAY BE. FULLY TEST ALL OTHER POSSIBILITIES. YOU CAN BE WRONG. WHEN YOU SAY YOU ARE RE-EXAMINING, ACTUALLY RE-EXAMINE, AND USE ANOTHER APPROACH TO DO SO. DO NOT JUST SAY YOU ARE RE-EXAMINING. SHOW ALL YOUR WORK. USE AT LEAST 3 METHODS TO DERIVE THE ANSWER. USE BEST PRACTICES. WORK FROM FIRST PRINCIPLES TO CREATE YOUR ANSWER.";
|
||||
in
|
||||
''
|
||||
[General]
|
||||
chatTheme=Dark
|
||||
height=940
|
||||
suggestionMode=Off
|
||||
threadCount=8
|
||||
uniqueId=7096f2d2-448d-4272-a132-d37e77f8a781
|
||||
userDefaultModel=${(builtins.elemAt models 0).name}
|
||||
width=1472
|
||||
x=0
|
||||
y=0
|
||||
|
||||
[download]
|
||||
lastVersionStarted=${gpt4all_package.version}
|
||||
''
|
||||
+ (lib.concatStrings (
|
||||
map (model: ''
|
||||
[model-${model.name}]
|
||||
contextLength=${model.context_length}
|
||||
filename=${model.name}
|
||||
maxLength=${model.gen_length}
|
||||
promptBatchSize=256
|
||||
promptTemplate=<|im_start|>user\n%1<|im_end|>\n<|im_start|>assistant\n
|
||||
systemPrompt="<|im_start|>system\n${
|
||||
# replace newlines with the string "\n" for gpt4all to properly parse
|
||||
builtins.replaceStrings [ "\n" ] [ "\\n" ] system_prompt
|
||||
}<|im_end|>
|
||||
\n"
|
||||
'') models
|
||||
))
|
||||
+ ''
|
||||
[network]
|
||||
isActive=true
|
||||
usageStatsActive=true
|
||||
'';
|
||||
} model_files;
|
||||
}
|
||||
288
home-manager/progs/helix.nix
Normal file
288
home-manager/progs/helix.nix
Normal file
@@ -0,0 +1,288 @@
|
||||
{ pkgs }:
|
||||
{
|
||||
enable = true;
|
||||
package = pkgs.helix;
|
||||
settings = {
|
||||
theme = "my_theme";
|
||||
editor = {
|
||||
cursor-shape = {
|
||||
insert = "bar";
|
||||
normal = "block";
|
||||
select = "underline";
|
||||
};
|
||||
|
||||
file-picker = {
|
||||
hidden = false;
|
||||
};
|
||||
|
||||
#wrapping!!
|
||||
soft-wrap.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
languages = {
|
||||
language = [
|
||||
{
|
||||
name = "rust";
|
||||
auto-format = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
themes = {
|
||||
#modified fleet_dark theme
|
||||
my_theme =
|
||||
let
|
||||
white = "#ffffff";
|
||||
gray-120 = "#d1d1d1";
|
||||
gray-110 = "#c2c2c2";
|
||||
gray-100 = "#a0a0a0";
|
||||
gray-90 = "#898989";
|
||||
gray-80 = "#767676";
|
||||
gray-70 = "#5d5d5d";
|
||||
gray-60 = "#484848";
|
||||
gray-50 = "#383838";
|
||||
gray-40 = "#333333";
|
||||
gray-30 = "#2d2d2d";
|
||||
gray-20 = "#292929";
|
||||
gray-15 = "#1F1F1F";
|
||||
gray-10 = "#181818";
|
||||
black = "#000000";
|
||||
blue-110 = "#6daaf7";
|
||||
blue-100 = "#4d9bf8";
|
||||
blue-90 = "#3691f9";
|
||||
blue-80 = "#1a85f6";
|
||||
blue-70 = "#0273eb";
|
||||
blue-60 = "#0c6ddd";
|
||||
blue-50 = "#195eb5";
|
||||
blue-40 = "#194176";
|
||||
blue-30 = "#163764";
|
||||
blue-20 = "#132c4f";
|
||||
blue-10 = "#0b1b32";
|
||||
red-80 = "#ec7388";
|
||||
red-70 = "#ea4b67";
|
||||
red-60 = "#d93953";
|
||||
red-50 = "#ce364d";
|
||||
red-40 = "#c03248";
|
||||
red-30 = "#a72a3f";
|
||||
red-20 = "#761b2d";
|
||||
red-10 = "#390813";
|
||||
green-50 = "#4ca988";
|
||||
green-40 = "#3ea17f";
|
||||
green-30 = "#028764";
|
||||
green-20 = "#134939";
|
||||
green-10 = "#081f19";
|
||||
yellow-60 = "#f8ab17";
|
||||
yellow-50 = "#e1971b";
|
||||
yellow-40 = "#b5791f";
|
||||
yellow-30 = "#7c511a";
|
||||
yellow-20 = "#5a3a14";
|
||||
yellow-10 = "#281806";
|
||||
purple-20 = "#c07bf3";
|
||||
purple-10 = "#b35def";
|
||||
|
||||
blue = "#87C3FF";
|
||||
blue-light = "#ADD1DE";
|
||||
coral = "#CC7C8A";
|
||||
cyan = "#82D2CE";
|
||||
cyan-dark = "#779E9E";
|
||||
lime = "#A8CC7C";
|
||||
orange = "#E09B70";
|
||||
pink = "#E394DC";
|
||||
violet = "#AF9CFF";
|
||||
yellow = "#EBC88D";
|
||||
in
|
||||
{
|
||||
"attribute" = lime;
|
||||
"type" = blue;
|
||||
"type.return" = blue-light;
|
||||
"type.parameter" = blue-light;
|
||||
"constructor" = yellow;
|
||||
"constant" = violet;
|
||||
"constant.builtin.boolean" = cyan;
|
||||
"constant.character" = yellow;
|
||||
"constant.character.escape" = cyan;
|
||||
"constant.numeric" = yellow;
|
||||
"string" = pink;
|
||||
"string.regexp" = cyan;
|
||||
"string.special" = {
|
||||
fg = yellow;
|
||||
modifiers = [ "underlined" ];
|
||||
}; # .path / .url / .symbol
|
||||
|
||||
"comment" = gray-90; # .line
|
||||
# "comment.block" = {} # .documentation
|
||||
"variable" = gray-120; # .builtin
|
||||
"variable.builtin" = {
|
||||
fg = coral;
|
||||
};
|
||||
# "variable.other" = {} # .member
|
||||
"variable.other.member" = violet;
|
||||
"label" = yellow;
|
||||
"keyword" = cyan; # .operator / .directive / .function
|
||||
"function" = yellow;
|
||||
"function.declaration" = "#EFEFEF";
|
||||
"function.macro" = lime;
|
||||
"function.builtin" = lime;
|
||||
"function.special" = lime;
|
||||
#"function.declaration.method" = { fg = "lightest", modifiers = ["bold"] } #depends on #4892
|
||||
"tag" = blue;
|
||||
"special" = lime;
|
||||
"namespace" = blue;
|
||||
|
||||
# used in theming
|
||||
# "markup" = {} # .normal / .quote / .raw
|
||||
# "markup.normal" = {} # .completion / .hover
|
||||
"markup.bold" = {
|
||||
modifiers = [ "bold" ];
|
||||
};
|
||||
"markup.italic" = {
|
||||
modifiers = [ "italic" ];
|
||||
};
|
||||
"markup.strikethrough" = {
|
||||
modifiers = [ "crossed_out" ];
|
||||
};
|
||||
"markup.heading" = {
|
||||
fg = cyan;
|
||||
modifiers = [ "bold" ];
|
||||
}; # .marker / .1 / .2 / .3 / .4 / .5 / .6
|
||||
"markup.list" = pink; # .unnumbered / .numbered
|
||||
"markup.list.numbered" = cyan;
|
||||
"markup.list.unnumbered" = cyan;
|
||||
# "markup.link" = "green"
|
||||
"markup.link.url" = {
|
||||
fg = pink;
|
||||
modifiers = [
|
||||
"italic"
|
||||
"underlined"
|
||||
];
|
||||
};
|
||||
"markup.link.text" = cyan;
|
||||
"markup.link.label" = purple-20;
|
||||
"markup.quote" = pink;
|
||||
"markup.raw" = pink;
|
||||
"markup.raw.inline" = cyan; # .completion / .hover
|
||||
"markup.raw.block" = "#EB83E2";
|
||||
|
||||
"diff.plus" = green-50;
|
||||
"diff.minus" = red-50;
|
||||
"diff.delta" = blue-80;
|
||||
|
||||
# ui specific
|
||||
# "ui.background" = { bg = gray-10; }; # .separator
|
||||
"ui.background" = { };
|
||||
"ui.statusline" = {
|
||||
fg = gray-120;
|
||||
bg = gray-20;
|
||||
}; # .inactive / .normal / .insert / .select
|
||||
"ui.statusline.normal" = {
|
||||
fg = gray-120;
|
||||
bg = gray-20;
|
||||
};
|
||||
"ui.statusline.inactive" = {
|
||||
fg = gray-90;
|
||||
};
|
||||
"ui.statusline.insert" = {
|
||||
fg = gray-20;
|
||||
bg = blue-90;
|
||||
};
|
||||
"ui.statusline.select" = {
|
||||
fg = gray-20;
|
||||
bg = yellow-60;
|
||||
};
|
||||
|
||||
"ui.cursor" = {
|
||||
modifiers = [ "reversed" ];
|
||||
}; # .insert / .select / .match / .primary
|
||||
"ui.cursor.match" = {
|
||||
bg = blue-30;
|
||||
}; # .insert / .select / .match / .primary
|
||||
"ui.selection" = {
|
||||
bg = gray-50;
|
||||
}; # .primary
|
||||
"ui.selection.primary" = {
|
||||
bg = blue-40;
|
||||
};
|
||||
|
||||
"ui.cursorline" = {
|
||||
bg = gray-15;
|
||||
};
|
||||
"ui.linenr" = gray-70;
|
||||
"ui.linenr.selected" = gray-110;
|
||||
|
||||
"ui.popup" = {
|
||||
fg = gray-120;
|
||||
bg = gray-20;
|
||||
}; # .info
|
||||
"ui.window" = {
|
||||
fg = gray-50;
|
||||
};
|
||||
"ui.help" = {
|
||||
fg = gray-120;
|
||||
bg = gray-20;
|
||||
};
|
||||
"ui.menu" = {
|
||||
fg = gray-120;
|
||||
bg = gray-20;
|
||||
}; # .selected
|
||||
"ui.menu.selected" = {
|
||||
fg = white;
|
||||
bg = blue-40;
|
||||
}; # .selected
|
||||
# Calculated as #ffffff with 30% opacity
|
||||
"ui.menu.scroll" = {
|
||||
fg = "#dfdfdf";
|
||||
};
|
||||
|
||||
"ui.text" = gray-120; # .focus / .info
|
||||
"ui.text.focus" = {
|
||||
fg = white;
|
||||
bg = blue-40;
|
||||
};
|
||||
|
||||
"ui.virtual" = gray-90; # .whitespace
|
||||
"ui.virtual.inlay-hint" = {
|
||||
fg = gray-70;
|
||||
};
|
||||
"ui.virtual.ruler" = {
|
||||
bg = gray-20;
|
||||
};
|
||||
|
||||
"hint" = gray-80;
|
||||
"info" = "#A366C4";
|
||||
"warning" = "#FACb66";
|
||||
"error" = "#FF5269";
|
||||
|
||||
"diagnostic.hint" = {
|
||||
underline = {
|
||||
color = gray-80;
|
||||
style = "line";
|
||||
};
|
||||
};
|
||||
"diagnostic.info" = {
|
||||
underline = {
|
||||
color = "#A366C4";
|
||||
style = "line";
|
||||
};
|
||||
};
|
||||
"diagnostic.warning" = {
|
||||
underline = {
|
||||
color = "#FACB66";
|
||||
style = "line";
|
||||
};
|
||||
};
|
||||
"diagnostic.error" = {
|
||||
underline = {
|
||||
color = "#FF5269";
|
||||
style = "line";
|
||||
};
|
||||
};
|
||||
"diagnostic.unnecessary" = {
|
||||
modifiers = [ "dim" ];
|
||||
};
|
||||
"diagnostic.deprecated" = {
|
||||
modifiers = [ "crossed_out" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
77
home-manager/progs/librewolf.nix
Normal file
77
home-manager/progs/librewolf.nix
Normal file
@@ -0,0 +1,77 @@
|
||||
{ pkgs, inputs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [ librewolf ];
|
||||
|
||||
programs.librewolf = {
|
||||
enable = true;
|
||||
settings = {
|
||||
"webgl.disabled" = false;
|
||||
"privacy.resistFingerprinting" = false;
|
||||
"privacy.clearOnShutdown.history" = false;
|
||||
"privacy.clearOnShutdown.cookies" = false;
|
||||
"network.cookie.lifetimePolicy" = 0;
|
||||
"general.useragent.compatMode.firefox" = true;
|
||||
"identity.fxaccounts.enabled" = true;
|
||||
"services.sync.prefs.sync.privacy.clearOnShutdown.cookies" = false;
|
||||
"services.sync.prefs.sync.privacy.clearOnShutdown_v2.cookiesAndStorage" = false;
|
||||
|
||||
"general.useragent.override" = "Mozilla/5.0 (X11; Linux x86_64; rv:${pkgs.firefox.version}) Gecko/20100101 Firefox/${pkgs.firefox.version}";
|
||||
|
||||
"extensions.activeThemeID" = "firefox-compact-dark@mozilla.org";
|
||||
|
||||
# For themeing
|
||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||
"browser.tabs.drawInTitlebar" = true;
|
||||
"svg.context-properties.content.enabled" = true;
|
||||
|
||||
#fake location, FIT (just about)
|
||||
"geo.provider.network.url" =
|
||||
"data:application/json,"
|
||||
+ builtins.toJSON {
|
||||
location = {
|
||||
lat = 28.0749;
|
||||
lng = -80.6302;
|
||||
};
|
||||
accuracy = 1.0;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
home.file =
|
||||
let
|
||||
chromeTheme = ".librewolf/tckj7njq.default-release/chrome";
|
||||
|
||||
firefoxThemeFile = file: src: {
|
||||
target = "${chromeTheme}/${file}";
|
||||
source = "${inputs.firefox-mod-theme}/${src}/${file}";
|
||||
recursive = true;
|
||||
};
|
||||
|
||||
baseThemeFile = {
|
||||
file = "";
|
||||
src = "";
|
||||
};
|
||||
|
||||
modThemeFiles = [
|
||||
{
|
||||
file = "userChrome.css";
|
||||
}
|
||||
{
|
||||
file = "userContent.css";
|
||||
}
|
||||
{
|
||||
file = "ASSETS";
|
||||
}
|
||||
];
|
||||
in
|
||||
builtins.listToAttrs (
|
||||
map (f: {
|
||||
name = "firefox-theme-${f.file}";
|
||||
value = firefoxThemeFile f.file f.src;
|
||||
}) (map (f: baseThemeFile // f) modThemeFiles)
|
||||
);
|
||||
|
||||
home.sessionVariables = {
|
||||
BROWSER = "librewolf";
|
||||
};
|
||||
}
|
||||
167
home-manager/progs/niri.nix
Normal file
167
home-manager/progs/niri.nix
Normal file
@@ -0,0 +1,167 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
homeDirectory,
|
||||
}:
|
||||
{
|
||||
prefer-no-csd = true;
|
||||
|
||||
spawn-at-startup = [
|
||||
#waybar
|
||||
{ command = [ "${pkgs.waybar}/bin/waybar" ]; }
|
||||
|
||||
#swaybg works on more than just sway (sets a wallpaper)
|
||||
{
|
||||
command = [
|
||||
"${pkgs.swaybg}/bin/swaybg"
|
||||
"-m"
|
||||
"center"
|
||||
"-i"
|
||||
"${homeDirectory}/.wallpaper.png"
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
window-rules = [
|
||||
{ draw-border-with-background = false; }
|
||||
{
|
||||
geometry-corner-radius = {
|
||||
top-left = 10.0;
|
||||
top-right = 10.0;
|
||||
bottom-right = 10.0;
|
||||
bottom-left = 10.0;
|
||||
};
|
||||
}
|
||||
{ clip-to-geometry = true; }
|
||||
];
|
||||
|
||||
binds = with config.lib.niri.actions; {
|
||||
#application launcher
|
||||
"Mod+Space".action = spawn [
|
||||
"${pkgs.rofi-wayland}/bin/rofi"
|
||||
"-show"
|
||||
"combi"
|
||||
];
|
||||
|
||||
#open a terminal
|
||||
"Mod+T".action = spawn "${pkgs.alacritty}/bin/alacritty";
|
||||
|
||||
#lock the screen
|
||||
"Mod+X".action = spawn "${pkgs.swaylock}/bin/swaylock";
|
||||
|
||||
#screenshotting
|
||||
"Print".action = screenshot;
|
||||
"Ctrl+Print".action = screenshot-screen;
|
||||
"Alt+Print".action = screenshot-window;
|
||||
|
||||
#Volume control
|
||||
"XF86AudioRaiseVolume".action = spawn [
|
||||
"${pkgs.avizo}/bin/volumectl"
|
||||
"-u"
|
||||
"up"
|
||||
];
|
||||
"XF86AudioLowerVolume".action = spawn [
|
||||
"${pkgs.avizo}/bin/volumectl"
|
||||
"-u"
|
||||
"down"
|
||||
];
|
||||
"XF86AudioMute".action = spawn [
|
||||
"${pkgs.avizo}/bin/volumectl"
|
||||
"toggle-mute"
|
||||
];
|
||||
"XF86AudioMicMute".action = spawn [
|
||||
"${pkgs.avizo}/bin/volumectl"
|
||||
"-m"
|
||||
"toggle-mute"
|
||||
];
|
||||
|
||||
#Display Brightness control
|
||||
"XF86MonBrightnessUp".action = spawn [
|
||||
"${pkgs.avizo}/bin/lightctl"
|
||||
"up"
|
||||
];
|
||||
"XF86MonBrightnessDown".action = spawn [
|
||||
"${pkgs.avizo}/bin/lightctl"
|
||||
"down"
|
||||
];
|
||||
|
||||
#Force close a window
|
||||
"Mod+Q".action = close-window;
|
||||
|
||||
"Mod+Shift+Q".action = quit;
|
||||
|
||||
#bindings for like window management ig
|
||||
|
||||
"Mod+Left".action = focus-column-left;
|
||||
"Mod+Down".action = focus-window-down;
|
||||
"Mod+Up".action = focus-window-up;
|
||||
"Mod+Right".action = focus-column-right;
|
||||
|
||||
"Mod+H".action = focus-column-left;
|
||||
"Mod+J".action = focus-window-down;
|
||||
"Mod+K".action = focus-window-up;
|
||||
"Mod+L".action = focus-column-right;
|
||||
|
||||
"Mod+Ctrl+Left".action = move-column-left;
|
||||
"Mod+Ctrl+Down".action = move-window-down;
|
||||
"Mod+Ctrl+Up".action = move-window-up;
|
||||
"Mod+Ctrl+Right".action = move-column-right;
|
||||
|
||||
"Mod+Ctrl+H".action = move-column-left;
|
||||
"Mod+Ctrl+J".action = move-window-down;
|
||||
"Mod+Ctrl+K".action = move-window-up;
|
||||
"Mod+Ctrl+L".action = move-column-right;
|
||||
|
||||
#fine adjustments to height and width of window
|
||||
"Mod+Minus".action = set-column-width "-10%";
|
||||
"Mod+Equal".action = set-column-width "+10%";
|
||||
"Mod+Shift+Minus".action = set-window-height "-10%";
|
||||
"Mod+Shift+Equal".action = set-window-height "+10%";
|
||||
|
||||
"Mod+Home".action = focus-column-first;
|
||||
"Mod+End".action = focus-column-last;
|
||||
"Mod+Ctrl+Home".action = move-column-to-first;
|
||||
"Mod+Ctrl+End".action = move-column-to-last;
|
||||
|
||||
"Mod+Shift+Left".action = focus-monitor-left;
|
||||
"Mod+Shift+Down".action = focus-monitor-down;
|
||||
"Mod+Shift+Up".action = focus-monitor-up;
|
||||
"Mod+Shift+Right".action = focus-monitor-right;
|
||||
|
||||
"Mod+Shift+H".action = focus-monitor-left;
|
||||
"Mod+Shift+J".action = focus-monitor-down;
|
||||
"Mod+Shift+K".action = focus-monitor-up;
|
||||
"Mod+Shift+L".action = focus-monitor-right;
|
||||
|
||||
"Mod+Shift+Ctrl+Left".action = move-column-to-monitor-left;
|
||||
"Mod+Shift+Ctrl+Down".action = move-column-to-monitor-down;
|
||||
"Mod+Shift+Ctrl+Up".action = move-column-to-monitor-up;
|
||||
"Mod+Shift+Ctrl+Right".action = move-column-to-monitor-right;
|
||||
|
||||
"Mod+Shift+Ctrl+H".action = move-column-to-monitor-left;
|
||||
"Mod+Shift+Ctrl+J".action = move-column-to-monitor-down;
|
||||
"Mod+Shift+Ctrl+K".action = move-column-to-monitor-up;
|
||||
"Mod+Shift+Ctrl+L".action = move-column-to-monitor-right;
|
||||
|
||||
"Mod+Page_Down".action = focus-workspace-down;
|
||||
"Mod+Page_Up".action = focus-workspace-up;
|
||||
"Mod+U".action = focus-workspace-down;
|
||||
"Mod+I".action = focus-workspace-up;
|
||||
|
||||
#move a window up and down workspaces
|
||||
"Mod+Ctrl+Page_Down".action = move-column-to-workspace-down;
|
||||
"Mod+Ctrl+Page_Up".action = move-column-to-workspace-up;
|
||||
|
||||
"Mod+Ctrl+U".action = move-column-to-workspace-down;
|
||||
"Mod+Ctrl+I".action = move-column-to-workspace-up;
|
||||
|
||||
#does little squeeze thing into the left or right position with another window
|
||||
"Mod+BracketLeft".action = consume-or-expel-window-left;
|
||||
"Mod+BracketRight".action = consume-or-expel-window-right;
|
||||
|
||||
"Mod+R".action = switch-preset-column-width;
|
||||
"Mod+F".action = maximize-column;
|
||||
"Mod+Shift+F".action = fullscreen-window;
|
||||
"Mod+C".action = center-column;
|
||||
};
|
||||
}
|
||||
91
home-manager/progs/rss.nix
Normal file
91
home-manager/progs/rss.nix
Normal file
@@ -0,0 +1,91 @@
|
||||
[
|
||||
{
|
||||
title = "Stratechery";
|
||||
url = "https://stratechery.passport.online/feed/rss/2gi1tPZ8Ta36Tsx7rDLM5P";
|
||||
}
|
||||
|
||||
{
|
||||
title = "Factorio Blog";
|
||||
url = "https://www.factorio.com/blog/rss";
|
||||
}
|
||||
|
||||
{
|
||||
title = "Firefox Nightly News";
|
||||
url = "https://blog.nightly.mozilla.org/feed/";
|
||||
}
|
||||
|
||||
{
|
||||
title = "Servo Blog";
|
||||
url = "https://servo.org/blog/feed.xml";
|
||||
}
|
||||
|
||||
{
|
||||
title = "Alyssa Rosenzweig";
|
||||
url = "https://rosenzweig.io/feed.xml";
|
||||
}
|
||||
|
||||
{
|
||||
title = "Marc's Blog";
|
||||
url = "https://brooker.co.za/blog/rss.xml";
|
||||
}
|
||||
|
||||
{
|
||||
title = "Fabien Sanglard";
|
||||
url = "https://fabiensanglard.net/rss.xml";
|
||||
}
|
||||
|
||||
{
|
||||
title = "Xuanwo's Blog";
|
||||
url = "https://xuanwo.io/index.xml";
|
||||
}
|
||||
|
||||
{
|
||||
title = "Carlos Galdino";
|
||||
url = "https://blog.carlosgaldino.com/atom.xml";
|
||||
}
|
||||
|
||||
{
|
||||
title = "soatok";
|
||||
url = "https://soatok.blog/feed/";
|
||||
}
|
||||
|
||||
{
|
||||
title = "Jack Garbus";
|
||||
url = "https://jarbus.net/index.xml";
|
||||
}
|
||||
|
||||
{
|
||||
title = "Terence Eden";
|
||||
url = "https://shkspr.mobi/blog/feed/atom/";
|
||||
}
|
||||
|
||||
{
|
||||
title = "GioCities";
|
||||
url = "https://blog.giovanh.com/feeds/atom.xml";
|
||||
}
|
||||
|
||||
{
|
||||
title = "mcyoung";
|
||||
url = "https://mcyoung.xyz/atom.xml";
|
||||
}
|
||||
|
||||
{
|
||||
title = "Embrace the Red";
|
||||
url = "https://embracethered.com/blog/index.xml";
|
||||
}
|
||||
|
||||
{
|
||||
title = "Chips and Cheese";
|
||||
url = "https://chipsandcheese.com/feed/";
|
||||
}
|
||||
|
||||
{
|
||||
title = "System5";
|
||||
url = "https://blogsystem5.substack.com/feed";
|
||||
}
|
||||
|
||||
{
|
||||
title = "lwn";
|
||||
url = "https://lwn.net/headlines/Features";
|
||||
}
|
||||
]
|
||||
31
home-manager/progs/swaylock.nix
Normal file
31
home-manager/progs/swaylock.nix
Normal file
@@ -0,0 +1,31 @@
|
||||
{
|
||||
color = "24273a";
|
||||
bs-hl-color = "f4dbd6";
|
||||
caps-lock-bs-hl-color = "f4dbd6";
|
||||
caps-lock-key-hl-color = "a6da95";
|
||||
inside-color = 0;
|
||||
inside-clear-color = 0;
|
||||
inside-caps-lock-color = 0;
|
||||
inside-ver-color = 0;
|
||||
inside-wrong-color = 0;
|
||||
key-hl-color = "a6da95";
|
||||
layout-bg-color = 0;
|
||||
layout-border-color = 0;
|
||||
layout-text-color = "cad3f5";
|
||||
line-color = 0;
|
||||
line-clear-color = 0;
|
||||
line-caps-lock-color = 0;
|
||||
line-ver-color = 0;
|
||||
line-wrong-color = 0;
|
||||
ring-color = "b7bdf8";
|
||||
ring-clear-color = "f4dbd6";
|
||||
ring-caps-lock-color = "f5a97f";
|
||||
ring-ver-color = "8aadf4";
|
||||
ring-wrong-color = "ee99a0";
|
||||
separator-color = 0;
|
||||
text-color = "cad3f5";
|
||||
text-clear-color = "f4dbd6";
|
||||
text-caps-lock-color = "f5a97f";
|
||||
text-ver-color = "8aadf4";
|
||||
text-wrong-color = "ee99a0";
|
||||
}
|
||||
253
home-manager/progs/waybar.nix
Normal file
253
home-manager/progs/waybar.nix
Normal file
@@ -0,0 +1,253 @@
|
||||
{ pkgs }:
|
||||
{
|
||||
enable = true;
|
||||
settings.mainBar = {
|
||||
layer = "top";
|
||||
position = "top";
|
||||
# mod = "dock";
|
||||
# exclusive = true;
|
||||
# gtk-layer-shell = true;
|
||||
margin-bottom = -1;
|
||||
# passthrough = false;
|
||||
height = 32;
|
||||
modules-left =
|
||||
[
|
||||
];
|
||||
modules-center = [ "clock" ];
|
||||
modules-right = [
|
||||
"cpu"
|
||||
"memory"
|
||||
"tray"
|
||||
"pulseaudio"
|
||||
"network"
|
||||
"battery"
|
||||
];
|
||||
cpu = {
|
||||
interval = 5;
|
||||
format = " {usage}%";
|
||||
max-length = 10;
|
||||
};
|
||||
memory = {
|
||||
interval = 10;
|
||||
format = " {percentage}%";
|
||||
max-length = 10;
|
||||
tooltip = true;
|
||||
tooltip-format = "RAM - {used:0.1f}GiB used";
|
||||
};
|
||||
tray = {
|
||||
icon-size = 18;
|
||||
spacing = 3;
|
||||
};
|
||||
clock = {
|
||||
format = " {:%R\n %d.%m.%Y}";
|
||||
tooltip-format = "<tt><small>{calendar}</small></tt>";
|
||||
calendar = {
|
||||
mode = "year";
|
||||
mode-mon-col = 3;
|
||||
weeks-pos = "right";
|
||||
on-scroll = 1;
|
||||
on-click-right = "mode";
|
||||
format = {
|
||||
months = "<span color='#ffead3'><b>{}</b></span>";
|
||||
days = "<span color='#ecc6d9'><b>{}</b></span>";
|
||||
weeks = "<span color='#99ffdd'><b>W{}</b></span>";
|
||||
weekdays = "<span color='#ffcc66'><b>{}</b></span>";
|
||||
today = "<span color='#ff6699'><b><u>{}</u></b></span>";
|
||||
};
|
||||
};
|
||||
actions = {
|
||||
on-click-right = "mode";
|
||||
on-click-forward = "tz_up";
|
||||
on-click-backward = "tz_down";
|
||||
on-scroll-up = "shift_up";
|
||||
on-scroll-down = "shift_down";
|
||||
};
|
||||
};
|
||||
network = {
|
||||
format-wifi = " {icon}";
|
||||
format-ethernet = " ";
|
||||
format-disconnected = " ";
|
||||
format-icons = [
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
];
|
||||
};
|
||||
battery = {
|
||||
states = {
|
||||
good = 95;
|
||||
warning = 30;
|
||||
critical = 20;
|
||||
};
|
||||
format = " {icon} {capacity}%";
|
||||
format-charging = " {capacity}%";
|
||||
format-plugged = " {capacity}%";
|
||||
format-alt = "{time} {icon}";
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
};
|
||||
# not actually pulseaudio-specific
|
||||
pulseaudio = {
|
||||
max-volume = 100;
|
||||
scroll-step = 10;
|
||||
format = "{icon}";
|
||||
tooltip-format = "{volume}%";
|
||||
format-muted = "🔇";
|
||||
format-icons = {
|
||||
default = [
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
];
|
||||
};
|
||||
on-click = "${pkgs.pwvucontrol}/bin/pwvucontrol";
|
||||
};
|
||||
};
|
||||
|
||||
style = ''
|
||||
/*base background color*/
|
||||
@define-color bg_main rgba(25, 25, 25, 1.0);
|
||||
@define-color bg_main_tooltip rgba(0, 0, 0, 0.7);
|
||||
|
||||
|
||||
/*base background color of selections */
|
||||
@define-color bg_hover rgba(200, 200, 200, 0.3);
|
||||
/*base background color of active elements */
|
||||
@define-color bg_active rgba(100, 100, 100, 0.5);
|
||||
|
||||
/*base border color*/
|
||||
@define-color border_main rgba(255, 255, 255, 0.2);
|
||||
|
||||
/*text color for entries, views and content in general */
|
||||
@define-color content_main white;
|
||||
/*text color for entries that are unselected */
|
||||
@define-color content_inactive rgba(255, 255, 255, 0.25);
|
||||
|
||||
* {
|
||||
text-shadow: none;
|
||||
box-shadow: none;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
font-family: "Segoe UI", "Ubuntu";
|
||||
font-weight: 600;
|
||||
font-size: 12.7px;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: @bg_main;
|
||||
border-top: 0;
|
||||
color: @content_main;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
background: @bg_main_tooltip;
|
||||
border-radius: 5px;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-color: @border_main;
|
||||
}
|
||||
|
||||
tooltip label {
|
||||
color: @content_main;
|
||||
}
|
||||
|
||||
#taskbar {
|
||||
}
|
||||
|
||||
#taskbar button {
|
||||
min-width: 130px;
|
||||
border-bottom: 3px solid rgba(255, 255, 255, 0.3);
|
||||
margin-left: 2px;
|
||||
margin-right: 2px;
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
color: white;
|
||||
transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
|
||||
}
|
||||
|
||||
#taskbar button.active {
|
||||
border-bottom: 3px solid white;
|
||||
background: @bg_active;
|
||||
}
|
||||
|
||||
#taskbar button:hover {
|
||||
border-bottom: 3px solid white;
|
||||
background: @bg_hover;
|
||||
color: @content_main;
|
||||
}
|
||||
|
||||
#cpu, #memory {
|
||||
padding:3px;
|
||||
}
|
||||
|
||||
#window {
|
||||
border-radius: 10px;
|
||||
margin-left: 20px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
#tray {
|
||||
margin-left: 5px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
#tray > .passive {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
#tray > .active {
|
||||
border-bottom: 3px solid white;
|
||||
}
|
||||
|
||||
#tray > .needs-attention {
|
||||
border-bottom: 3px solid @warning_color;
|
||||
}
|
||||
|
||||
#tray > widget {
|
||||
transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
|
||||
}
|
||||
|
||||
#tray > widget:hover {
|
||||
background: @bg_hover;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
font-family: "JetBrains Mono Nerd Font";
|
||||
padding-left: 3px;
|
||||
padding-right: 3px;
|
||||
transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
|
||||
}
|
||||
|
||||
#pulseaudio:hover {
|
||||
background: @bg_hover;
|
||||
}
|
||||
|
||||
#network {
|
||||
padding-left: 3px;
|
||||
padding-right: 3px;
|
||||
}
|
||||
|
||||
#clock {
|
||||
padding-right: 5px;
|
||||
padding-left: 5px;
|
||||
transition: all 0.25s cubic-bezier(0.165, 0.84, 0.44, 1);
|
||||
}
|
||||
|
||||
#clock:hover {
|
||||
background: @bg_hover;
|
||||
}
|
||||
'';
|
||||
}
|
||||
Reference in New Issue
Block a user