This commit is contained in:
xqtc 2025-02-27 16:53:52 +01:00
parent b8e8855c12
commit 58c5565852
Signed by: xqtc
GPG key ID: 2C064D095926D9D1
14 changed files with 178 additions and 26 deletions

View file

@ -26,7 +26,7 @@
# inputs.hyprpanel.overlay
# ];
};
nixpkgs.overlays = [inputs.hyprpanel.overlay ];
nixpkgs.overlays = [inputs.hyprpanel.overlay];
modules = [
../home
inputs.nixvim.homeManagerModules.nixvim

View file

@ -11,6 +11,8 @@ font-size = 15
keybind = ctrl+shift+n=new_tab
keybind = ctrl+shift+t=toggle_tab_overview
custom-shader = ~/.config/ghostty/shader.glsl
# TABS
keybind = ctrl+alt+1=goto_tab:1
keybind = ctrl+alt+2=goto_tab:2

View file

@ -0,0 +1,135 @@
// transparent background
const bool transparent = false;
// terminal contents luminance threshold to be considered background (0.0 to 1.0)
const float threshold = 0.15;
// divisions of grid
const float repeats = 30.;
// number of layers
const float layers = 21.;
// star colors
const vec3 white = vec3(1.0); // Set star color to pure white
float luminance(vec3 color) {
return dot(color, vec3(0.2126, 0.7152, 0.0722));
}
float N21(vec2 p) {
p = fract(p * vec2(233.34, 851.73));
p += dot(p, p + 23.45);
return fract(p.x * p.y);
}
vec2 N22(vec2 p) {
float n = N21(p);
return vec2(n, N21(p + n));
}
mat2 scale(vec2 _scale) {
return mat2(_scale.x, 0.0,
0.0, _scale.y);
}
// 2D Noise based on Morgan McGuire
float noise(in vec2 st) {
vec2 i = floor(st);
vec2 f = fract(st);
// Four corners in 2D of a tile
float a = N21(i);
float b = N21(i + vec2(1.0, 0.0));
float c = N21(i + vec2(0.0, 1.0));
float d = N21(i + vec2(1.0, 1.0));
// Smooth Interpolation
vec2 u = f * f * (3.0 - 2.0 * f); // Cubic Hermite Curve
// Mix 4 corners percentages
return mix(a, b, u.x) +
(c - a) * u.y * (1.0 - u.x) +
(d - b) * u.x * u.y;
}
float perlin2(vec2 uv, int octaves, float pscale) {
float col = 1.;
float initScale = 4.;
for (int l; l < octaves; l++) {
float val = noise(uv * initScale);
if (col <= 0.01) {
col = 0.;
break;
}
val -= 0.01;
val *= 0.5;
col *= val;
initScale *= pscale;
}
return col;
}
vec3 stars(vec2 uv, float offset) {
float timeScale = -(iTime + offset) / layers;
float trans = fract(timeScale);
float newRnd = floor(timeScale);
vec3 col = vec3(0.);
// Translate uv then scale for center
uv -= vec2(0.5);
uv = scale(vec2(trans)) * uv;
uv += vec2(0.5);
// Create square aspect ratio
uv.x *= iResolution.x / iResolution.y;
// Create boxes
uv *= repeats;
// Get position
vec2 ipos = floor(uv);
// Return uv as 0 to 1
uv = fract(uv);
// Calculate random xy and size
vec2 rndXY = N22(newRnd + ipos * (offset + 1.)) * 0.9 + 0.05;
float rndSize = N21(ipos) * 100. + 200.;
vec2 j = (rndXY - uv) * rndSize;
float sparkle = 1. / dot(j, j);
// Set stars to be pure white
col += white * sparkle;
col *= smoothstep(1., 0.8, trans);
return col; // Return pure white stars only
}
void mainImage(out vec4 fragColor, in vec2 fragCoord)
{
// Normalized pixel coordinates (from 0 to 1)
vec2 uv = fragCoord / iResolution.xy;
vec3 col = vec3(0.);
for (float i = 0.; i < layers; i++) {
col += stars(uv, i);
}
// Sample the terminal screen texture including alpha channel
vec4 terminalColor = texture(iChannel0, uv);
if (transparent) {
col += terminalColor.rgb;
}
// Make a mask that is 1.0 where the terminal content is not black
float mask = 1 - step(threshold, luminance(terminalColor.rgb));
vec3 blendedColor = mix(terminalColor.rgb, col, mask);
// Apply terminal's alpha to control overall opacity
fragColor = vec4(blendedColor, terminalColor.a);
}

View file

@ -21,6 +21,17 @@
extraConfig = builtins.readFile ./config-files/wezterm.lua;
};
xdg.mimeApps = {
enable = true;
defaultApplications = {
"text/html" = "firefox.desktop";
"x-scheme-handler/http" = "firefox.desktop";
"x-scheme-handler/https" = "firefox.desktop";
"x-scheme-handler/about" = "firefox.desktop";
"x-scheme-handler/unknown" = "firefox.desktop";
};
};
programs.joshuto = {enable = true;};
dconf.enable = config.os == "linux";

View file

@ -21,7 +21,7 @@
colors = {
alpha = 0.8;
#catppuccin
#catppuccin
foreground = "cdd6f4";
background = "1e1e2e";

View file

@ -5,4 +5,5 @@
...
}: {
xdg.configFile."ghostty/config".source = ../config-files/ghostty-config;
xdg.configFile."ghostty/shader.glsl".source = ../config-files/ghostty-shader.glsl;
}

View file

@ -65,11 +65,11 @@
gnomeExtensions.desktop-cube
# catppuccin-cursors.mochaPink
]);
home.pointerCursor = {
gtk.enable = true;
x11.enable = true;
name = "Catppuccin-Mocha-Pink-Cursors";
package = pkgs.catppuccin-cursors.mochaPink;
# size = 24;
};
# home.pointerCursor = {
# gtk.enable = true;
# x11.enable = true;
# name = "Catppuccin-Mocha-Pink-Cursors";
# package = pkgs.catppuccin-cursors.mochaPink;
# # size = 24;
# };
}

View file

@ -11,7 +11,7 @@
startdwl = pkgs.writeScriptBin "startdwl" (builtins.readFile ../config-files/startdwl.sh);
in {
home.packages =
(lib.optionals (config.os == "linux" && config.host != "yosai") (with pkgs; [
(lib.optionals (config.os == "linux") (with pkgs; [
cargo
# heroic # BUILD FAILURE
mpv
@ -46,7 +46,7 @@ in {
spotify
cosmic-icons
]))
++ (lib.optionals (config.os == "linux") (with pkgs; [
++ (lib.optionals (config.os == "linux" && config.host != "yosai") (with pkgs; [
jellyfin-media-player
ghidra
hyprland-qtutils
@ -55,7 +55,7 @@ in {
protonup-qt
element-desktop
tuba
]))
]))
++ (with pkgs; [
inputs.ghostty.packages.x86_64-linux.default
nh

View file

@ -10,10 +10,6 @@
enable = true;
globals.mapleader = " ";
extraConfigLua = builtins.readFile ../config-files/nvim/init.lua;
opts = {
colorcolumn = "80";
# updatetime = 50;
};
extraPlugins = with pkgs.vimPlugins; [
aerial-nvim
];
@ -22,9 +18,15 @@
opts = {
number = true; # Show line numbers
relativenumber = true; # Show relative line numbers
relativenumber = false; # Show relative line numbers
shiftwidth = 2; # Tab width should be 2
colorcolumn = "80";
conceallevel = 2;
undofile = true;
};
# colorschemes.kanagawa.enable = true;
@ -38,8 +40,8 @@
# };
plugins = {
transparent = {
enable = true;
autoLoad = true;
enable = true;
autoLoad = true;
};
colorizer.enable = true;
neogit.enable = true;
@ -88,7 +90,7 @@
enable = true;
};
wakatime.enable = true;
headlines.enable = true;
#headlines.enable = true;
twilight.enable = true;
comment = {
enable = true;
@ -224,8 +226,8 @@
typos_lsp.enable = false;
docker_compose_language_service.enable = true;
zls.enable = true;
terraformls.enable = true;
tflint.enable = true;
terraformls.enable = true;
tflint.enable = true;
pylsp.enable = true;
bashls.enable = true;
lua_ls.enable = true;

View file

@ -17,6 +17,7 @@
services.hypridle = {
enable = true;
settings = {
general = {
lock_cmd = "pidof hyprlock || hyprlock";
@ -40,7 +41,7 @@
imports = [inputs.hyprpanel.homeManagerModules.hyprpanel];
programs.hyprpanel = {
enable = true;
enable = ( if (config.host != "yosai") then true else false);
systemd.enable = false;
hyprland.enable = true;
overwrite.enable = true;

View file

@ -47,7 +47,6 @@
};
nixpkgs.config.allowUnfree = true;
services.tailscale.extraSetFlags = ["--webclient=true"];
# services.xrdp.enable = true;

View file

@ -56,7 +56,7 @@ in {
gnused
nodejs
wget
sudo
sudo
];
};
};

View file

@ -102,6 +102,7 @@
git
foot
tree
xdg-utils
];
};

View file

@ -18,7 +18,7 @@ in {
inherit inputs;
inherit dwl-source;
};
nixpkgs.overlays = [inputs.hyprpanel.overlay ];
nixpkgs.overlays = [inputs.hyprpanel.overlay];
home-manager.users.xqtc = {...}: {
imports = [
{config.host = config.networking.hostName;}