mirror of
https://git.gay/xqtc/nixos-config
synced 2025-04-30 19:37:29 +02:00
idk
This commit is contained in:
parent
b8e8855c12
commit
58c5565852
14 changed files with 178 additions and 26 deletions
|
@ -26,7 +26,7 @@
|
|||
# inputs.hyprpanel.overlay
|
||||
# ];
|
||||
};
|
||||
nixpkgs.overlays = [inputs.hyprpanel.overlay ];
|
||||
nixpkgs.overlays = [inputs.hyprpanel.overlay];
|
||||
modules = [
|
||||
../home
|
||||
inputs.nixvim.homeManagerModules.nixvim
|
||||
|
|
|
@ -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
|
||||
|
|
135
home/config-files/ghostty-shader.glsl
Normal file
135
home/config-files/ghostty-shader.glsl
Normal 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);
|
||||
}
|
|
@ -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";
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
|
||||
colors = {
|
||||
alpha = 0.8;
|
||||
#catppuccin
|
||||
#catppuccin
|
||||
foreground = "cdd6f4";
|
||||
background = "1e1e2e";
|
||||
|
||||
|
|
|
@ -5,4 +5,5 @@
|
|||
...
|
||||
}: {
|
||||
xdg.configFile."ghostty/config".source = ../config-files/ghostty-config;
|
||||
xdg.configFile."ghostty/shader.glsl".source = ../config-files/ghostty-shader.glsl;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
# };
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -47,7 +47,6 @@
|
|||
};
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
|
||||
services.tailscale.extraSetFlags = ["--webclient=true"];
|
||||
|
||||
# services.xrdp.enable = true;
|
||||
|
|
|
@ -56,7 +56,7 @@ in {
|
|||
gnused
|
||||
nodejs
|
||||
wget
|
||||
sudo
|
||||
sudo
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
|
@ -102,6 +102,7 @@
|
|||
git
|
||||
foot
|
||||
tree
|
||||
xdg-utils
|
||||
];
|
||||
};
|
||||
|
||||
|
|
|
@ -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;}
|
||||
|
|
Loading…
Add table
Reference in a new issue