init
This commit is contained in:
commit
2be8de47fa
87 changed files with 11501 additions and 0 deletions
182
home/fastfetch.nix
Normal file
182
home/fastfetch.nix
Normal file
|
|
@ -0,0 +1,182 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
programs.fastfetch = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
"$schema" = "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json";
|
||||
|
||||
logo = {
|
||||
type = "builtin";
|
||||
height = 15;
|
||||
width = 30;
|
||||
padding = {
|
||||
top = 5;
|
||||
left = 3;
|
||||
};
|
||||
};
|
||||
|
||||
modules = [
|
||||
"break"
|
||||
{
|
||||
type = "custom";
|
||||
format = "┌──────────────────────Hardware──────────────────────┐";
|
||||
}
|
||||
{
|
||||
type = "host";
|
||||
key = " PC";
|
||||
keyColor = "green";
|
||||
}
|
||||
{
|
||||
type = "cpu";
|
||||
key = "│ ├";
|
||||
keyColor = "green";
|
||||
}
|
||||
{
|
||||
type = "gpu";
|
||||
key = "│ ├";
|
||||
keyColor = "green";
|
||||
}
|
||||
{
|
||||
type = "memory";
|
||||
key = "│ ├";
|
||||
keyColor = "green";
|
||||
}
|
||||
{
|
||||
type = "disk";
|
||||
key = "└ └";
|
||||
keyColor = "green";
|
||||
}
|
||||
{
|
||||
type = "custom";
|
||||
format = "└────────────────────────────────────────────────────┘";
|
||||
}
|
||||
|
||||
"break"
|
||||
{
|
||||
type = "custom";
|
||||
format = "┌──────────────────────Software──────────────────────┐";
|
||||
}
|
||||
{
|
||||
type = "os";
|
||||
key = " OS";
|
||||
keyColor = "yellow";
|
||||
}
|
||||
{
|
||||
type = "kernel";
|
||||
key = "│ ├";
|
||||
keyColor = "yellow";
|
||||
}
|
||||
{
|
||||
type = "bios";
|
||||
key = "│ ├";
|
||||
keyColor = "yellow";
|
||||
}
|
||||
{
|
||||
type = "packages";
|
||||
key = "│ ├";
|
||||
keyColor = "yellow";
|
||||
}
|
||||
{
|
||||
type = "shell";
|
||||
key = "└ └";
|
||||
keyColor = "yellow";
|
||||
}
|
||||
|
||||
"break"
|
||||
{
|
||||
type = "de";
|
||||
key = " DE";
|
||||
keyColor = "blue";
|
||||
}
|
||||
{
|
||||
type = "lm";
|
||||
key = "│ ├";
|
||||
keyColor = "blue";
|
||||
}
|
||||
{
|
||||
type = "wm";
|
||||
key = "│ ├";
|
||||
keyColor = "blue";
|
||||
}
|
||||
{
|
||||
type = "wmtheme";
|
||||
key = "│ ├";
|
||||
keyColor = "blue";
|
||||
}
|
||||
{
|
||||
type = "terminal";
|
||||
key = "└ └";
|
||||
keyColor = "blue";
|
||||
}
|
||||
{
|
||||
type = "custom";
|
||||
format = "└────────────────────────────────────────────────────┘";
|
||||
}
|
||||
|
||||
"break"
|
||||
{
|
||||
type = "custom";
|
||||
format = "┌────────────────────Uptime / Age / DT────────────────────┐";
|
||||
}
|
||||
{
|
||||
type = "command";
|
||||
key = " OS Age ";
|
||||
keyColor = "magenta";
|
||||
text = ''
|
||||
birth_install=$(stat -c %W /); current=$(date +%s); time_progression=$((current - birth_install)); days_difference=$((time_progression / 86400)); echo $days_difference days
|
||||
'';
|
||||
}
|
||||
{
|
||||
type = "uptime";
|
||||
key = " Uptime ";
|
||||
keyColor = "magenta";
|
||||
}
|
||||
{
|
||||
type = "datetime";
|
||||
key = " DateTime ";
|
||||
keyColor = "magenta";
|
||||
}
|
||||
{
|
||||
type = "custom";
|
||||
format = "└─────────────────────────────────────────────────────────┘";
|
||||
}
|
||||
|
||||
# Original commented colors block:
|
||||
# { type = "colors"; }
|
||||
|
||||
{
|
||||
type = "colors";
|
||||
paddingLeft = 2;
|
||||
symbol = "circle";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
programs.hyfetch = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
preset = "transgender";
|
||||
mode = "rgb";
|
||||
auto_detect_light_dark = true;
|
||||
light_dark = "dark";
|
||||
lightness = 0.65;
|
||||
color_align = {
|
||||
mode = "horizontal";
|
||||
};
|
||||
backend = "fastfetch";
|
||||
args = null;
|
||||
distro = null;
|
||||
pride_month_disable = false;
|
||||
custom_ascii_path = null;
|
||||
};
|
||||
};
|
||||
}
|
||||
16
home/kitty.nix
Normal file
16
home/kitty.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
themeFile = "Catppuccin-Mocha"; # Updated option name
|
||||
settings = {
|
||||
confirm_os_window_close = 0;
|
||||
cursor_shape = "beam";
|
||||
};
|
||||
|
||||
# extraConfig = ''
|
||||
# include current-theme.conf
|
||||
# '';
|
||||
};
|
||||
}
|
||||
29
home/mangohud.nix
Normal file
29
home/mangohud.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
programs.mangohud = {
|
||||
enable = true;
|
||||
settings = {
|
||||
# Performance overlay
|
||||
fps = true;
|
||||
frametime = false;
|
||||
frame_timing = false;
|
||||
histogram = false;
|
||||
|
||||
# Hardware stats (Ensure disabled)
|
||||
cpu_stats = false;
|
||||
gpu_stats = false;
|
||||
ram = false;
|
||||
vram = false;
|
||||
core_load = false;
|
||||
gpu_load = false;
|
||||
|
||||
# Appearance
|
||||
legacy_layout = false;
|
||||
table_columns = 3;
|
||||
background_alpha = 0.0;
|
||||
font_size = 24;
|
||||
position = "top-left";
|
||||
round_corners = 10;
|
||||
};
|
||||
};
|
||||
}
|
||||
206
home/starship.nix
Normal file
206
home/starship.nix
Normal file
|
|
@ -0,0 +1,206 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
settings = {
|
||||
add_newline = false;
|
||||
format = lib.concatStrings [
|
||||
"[](red)"
|
||||
"$os"
|
||||
"$username"
|
||||
"[](bg:peach fg:red)"
|
||||
"$directory"
|
||||
"[](bg:yellow fg:peach)"
|
||||
"$git_branch"
|
||||
"$git_status"
|
||||
"[](fg:yellow bg:green)"
|
||||
"$c"
|
||||
"$rust"
|
||||
"$golang"
|
||||
"$nodejs"
|
||||
"$php"
|
||||
"$java"
|
||||
"$kotlin"
|
||||
"$haskell"
|
||||
"$python"
|
||||
"[](fg:green bg:sapphire)"
|
||||
"$conda"
|
||||
"[](fg:sapphire bg:lavender)"
|
||||
"$time"
|
||||
"[ ](fg:lavender)"
|
||||
"$cmd_duration"
|
||||
"$line_break"
|
||||
"$character"
|
||||
];
|
||||
|
||||
palette = "catppuccin_mocha";
|
||||
|
||||
os = {
|
||||
disabled = false;
|
||||
style = "bg:red fg:crust";
|
||||
symbols = {
|
||||
Windows = "";
|
||||
Ubuntu = "";
|
||||
SUSE = "";
|
||||
Raspbian = "";
|
||||
Mint = "";
|
||||
Macos = "";
|
||||
Manjaro = "";
|
||||
Linux = "";
|
||||
Gentoo = "";
|
||||
Fedora = "";
|
||||
Alpine = "";
|
||||
Amazon = "";
|
||||
Android = "";
|
||||
AOSC = "";
|
||||
Arch = "";
|
||||
Artix = "";
|
||||
CentOS = "";
|
||||
Debian = "";
|
||||
Redhat = "";
|
||||
RedHatEnterprise = "";
|
||||
};
|
||||
};
|
||||
|
||||
username = {
|
||||
show_always = true;
|
||||
style_user = "bg:red fg:crust";
|
||||
style_root = "bg:red fg:crust";
|
||||
format = "[ $user]($style)";
|
||||
};
|
||||
|
||||
directory = {
|
||||
style = "bg:peach fg:crust";
|
||||
format = "[ $path ]($style)";
|
||||
truncation_length = 3;
|
||||
truncation_symbol = "…/";
|
||||
substitutions = {
|
||||
"Documents" = " ";
|
||||
"Downloads" = " ";
|
||||
"Music" = " ";
|
||||
"Pictures" = " ";
|
||||
"Developer" = " ";
|
||||
};
|
||||
};
|
||||
|
||||
git_branch = {
|
||||
symbol = "";
|
||||
style = "bg:yellow";
|
||||
format = "[[ $symbol $branch ](fg:crust bg:yellow)]($style)";
|
||||
};
|
||||
|
||||
git_status = {
|
||||
style = "bg:yellow";
|
||||
format = "[[($all_status$ahead_behind )](fg:crust bg:yellow)]($style)";
|
||||
};
|
||||
|
||||
nodejs = {
|
||||
symbol = "";
|
||||
style = "bg:green";
|
||||
format = "[[ $symbol( $version) ](fg:crust bg:green)]($style)";
|
||||
};
|
||||
|
||||
c = {
|
||||
symbol = " ";
|
||||
style = "bg:green";
|
||||
format = "[[ $symbol( $version) ](fg:crust bg:green)]($style)";
|
||||
};
|
||||
|
||||
rust = {
|
||||
symbol = "";
|
||||
style = "bg:green";
|
||||
format = "[[ $symbol( $version) ](fg:crust bg:green)]($style)";
|
||||
};
|
||||
|
||||
golang = {
|
||||
symbol = "";
|
||||
style = "bg:green";
|
||||
format = "[[ $symbol( $version) ](fg:crust bg:green)]($style)";
|
||||
};
|
||||
|
||||
php = {
|
||||
symbol = "";
|
||||
style = "bg:green";
|
||||
format = "[[ $symbol( $version) ](fg:crust bg:green)]($style)";
|
||||
};
|
||||
|
||||
java = {
|
||||
symbol = " ";
|
||||
style = "bg:green";
|
||||
format = "[[ $symbol( $version) ](fg:crust bg:green)]($style)";
|
||||
};
|
||||
|
||||
kotlin = {
|
||||
symbol = "";
|
||||
style = "bg:green";
|
||||
format = "[[ $symbol( $version) ](fg:crust bg:green)]($style)";
|
||||
};
|
||||
|
||||
haskell = {
|
||||
symbol = "";
|
||||
style = "bg:green";
|
||||
format = "[[ $symbol( $version) ](fg:crust bg:green)]($style)";
|
||||
};
|
||||
|
||||
python = {
|
||||
symbol = "";
|
||||
style = "bg:green";
|
||||
format = "[[ $symbol( $version)(\\(#$virtualenv\\)) ](fg:crust bg:green)]($style)";
|
||||
};
|
||||
|
||||
docker_context = {
|
||||
symbol = "";
|
||||
style = "bg:sapphire";
|
||||
format = "[[ $symbol( $context) ](fg:crust bg:sapphire)]($style)";
|
||||
};
|
||||
|
||||
conda = {
|
||||
symbol = " ";
|
||||
style = "fg:crust bg:sapphire";
|
||||
format = "[$symbol$environment ]($style)";
|
||||
ignore_base = false;
|
||||
};
|
||||
|
||||
time = {
|
||||
disabled = false;
|
||||
time_format = "%R";
|
||||
style = "bg:lavender";
|
||||
format = "[[ $time ](fg:crust bg:lavender)]($style)";
|
||||
};
|
||||
|
||||
line_break = {
|
||||
disabled = true;
|
||||
};
|
||||
|
||||
character = {
|
||||
disabled = false;
|
||||
success_symbol = "[❯](bold fg:green)";
|
||||
error_symbol = "[❯](bold fg:red)";
|
||||
vimcmd_symbol = "[❮](bold fg:green)";
|
||||
vimcmd_replace_one_symbol = "[❮](bold fg:lavender)";
|
||||
vimcmd_replace_symbol = "[❮](bold fg:lavender)";
|
||||
vimcmd_visual_symbol = "[❮](bold fg:yellow)";
|
||||
};
|
||||
|
||||
cmd_duration = {
|
||||
show_milliseconds = true;
|
||||
format = " in $duration ";
|
||||
style = "bg:lavender";
|
||||
disabled = false;
|
||||
show_notifications = true;
|
||||
min_time_to_notify = 45000;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Enable the Catppuccin starship module to provide the palette
|
||||
catppuccin.starship.enable = true;
|
||||
catppuccin.flavor = "mocha";
|
||||
}
|
||||
21
home/steam.nix
Normal file
21
home/steam.nix
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs.steam.config = {
|
||||
enable = true;
|
||||
closeSteam = true; # Closes Steam on rebuild, to prevent data loss
|
||||
defaultCompatTool = "proton-cachyos-latest";
|
||||
|
||||
apps = {
|
||||
overwatch2 = {
|
||||
id = 2357570;
|
||||
compatTool = "proton-cachyos-latest";
|
||||
launchOptions = "gamemoderun mangohud PROTON_USE_NTSYNC=1 ENABLE_LAYER_MESA_ANTI_LAG=1 PROTON_LOCAL_SHADER_CACHE=1 %command%";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
230
home/vscode.nix
Normal file
230
home/vscode.nix
Normal file
|
|
@ -0,0 +1,230 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
let
|
||||
# Wrap Antigravity in an FHS environment to support dynamically linked binaries
|
||||
antigravityFHS = pkgs.buildFHSEnv {
|
||||
name = "antigravity";
|
||||
|
||||
targetPkgs =
|
||||
pkgs:
|
||||
(with pkgs; [
|
||||
antigravity
|
||||
chromium
|
||||
# Common libraries for dynamically linked binaries
|
||||
gcc
|
||||
glibc
|
||||
stdenv.cc.cc
|
||||
zlib
|
||||
openssl
|
||||
curl
|
||||
libgcc
|
||||
glib
|
||||
gtk3
|
||||
libsecret
|
||||
libnotify
|
||||
nss
|
||||
nspr
|
||||
alsa-lib
|
||||
cups
|
||||
dbus
|
||||
expat
|
||||
libdrm
|
||||
libxkbcommon
|
||||
mesa
|
||||
pango
|
||||
cairo
|
||||
# X11 libraries
|
||||
xorg.libX11
|
||||
xorg.libXcomposite
|
||||
xorg.libXdamage
|
||||
xorg.libXext
|
||||
xorg.libXfixes
|
||||
xorg.libXrandr
|
||||
xorg.libxcb
|
||||
]);
|
||||
|
||||
# Run antigravity binary when the FHS env is invoked
|
||||
runScript = pkgs.writeShellScript "antigravity-wrapper" ''
|
||||
unset LD_PRELOAD
|
||||
exec ${pkgs.antigravity}/bin/antigravity "$@"
|
||||
'';
|
||||
|
||||
# Ensure the FHS environment is set up properly
|
||||
profile = ''
|
||||
export LD_LIBRARY_PATH=/usr/lib:/usr/lib64:$LD_LIBRARY_PATH
|
||||
'';
|
||||
|
||||
extraBindMounts = [
|
||||
"/etc/subuid"
|
||||
"/etc/subgid"
|
||||
];
|
||||
};
|
||||
|
||||
# Wrap the FHS environment to add product.json symlink where Home Manager expects it
|
||||
antigravityWrapped = pkgs.symlinkJoin {
|
||||
name = "antigravity-wrapped";
|
||||
paths = [ antigravityFHS ];
|
||||
postBuild = ''
|
||||
# Link product.json from the original antigravity package
|
||||
ln -sf ${pkgs.antigravity}/lib/antigravity/resources/app/product.json $out/product.json
|
||||
'';
|
||||
# Pass through required attributes for Home Manager vscode module
|
||||
passthru = {
|
||||
inherit (pkgs.antigravity) pname version;
|
||||
};
|
||||
};
|
||||
|
||||
# Launcher for the regular non-sandboxed environment (Native)
|
||||
antigravityNative = pkgs.writeShellScriptBin "antigravity-native" ''
|
||||
unset LD_PRELOAD
|
||||
exec ${pkgs.antigravity}/bin/antigravity "$@"
|
||||
'';
|
||||
|
||||
# Explicit launcher for the FHS environment (same as default)
|
||||
antigravityFHSLauncher = pkgs.writeShellScriptBin "antigravity-fhs" ''
|
||||
exec ${antigravityWrapped}/bin/antigravity "$@"
|
||||
'';
|
||||
in
|
||||
{
|
||||
home.packages = [
|
||||
antigravityNative
|
||||
antigravityFHSLauncher
|
||||
];
|
||||
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
package = antigravityWrapped;
|
||||
|
||||
# Allow mutable extensions dir so Antigravity can create extensions.json
|
||||
mutableExtensionsDir = true;
|
||||
|
||||
# extensions = [
|
||||
# (pkgs.vscode-utils.extensionFromVscodeMarketplace {
|
||||
# name = "x";
|
||||
# publisher = "x";
|
||||
# version = "x.x.x";
|
||||
# sha256 = "sha256-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=";
|
||||
# })
|
||||
# ];
|
||||
|
||||
profiles.default = {
|
||||
# Disable update checks (not applicable for Nix-managed packages)
|
||||
enableUpdateCheck = false;
|
||||
enableExtensionUpdateCheck = false;
|
||||
|
||||
# Extensions from nixpkgs
|
||||
extensions = with pkgs.vscode-extensions; [
|
||||
# Theme & Icons
|
||||
catppuccin.catppuccin-vsc
|
||||
catppuccin.catppuccin-vsc-icons
|
||||
|
||||
# Git
|
||||
eamodio.gitlens
|
||||
|
||||
# C/C++
|
||||
llvm-vs-code-extensions.vscode-clangd
|
||||
|
||||
# Nix
|
||||
jnoortheen.nix-ide
|
||||
|
||||
# Python
|
||||
ms-python.python
|
||||
ms-python.debugpy
|
||||
|
||||
# Go
|
||||
golang.go
|
||||
|
||||
# Java (RedHat + vscjava)
|
||||
redhat.java
|
||||
vscjava.vscode-java-debug
|
||||
vscjava.vscode-java-dependency
|
||||
vscjava.vscode-java-pack
|
||||
vscjava.vscode-java-test
|
||||
vscjava.vscode-gradle
|
||||
vscjava.vscode-maven
|
||||
|
||||
# PHP
|
||||
bmewburn.vscode-intelephense-client
|
||||
xdebug.php-debug
|
||||
|
||||
# Ruby
|
||||
shopify.ruby-lsp
|
||||
|
||||
# Docker & Containers
|
||||
ms-azuretools.vscode-docker
|
||||
|
||||
# Formatters
|
||||
esbenp.prettier-vscode
|
||||
];
|
||||
|
||||
# User settings (settings.json equivalent)
|
||||
userSettings = {
|
||||
# Existing settings from your current settings.json
|
||||
"workbench.colorTheme" = "Catppuccin Mocha";
|
||||
"workbench.iconTheme" = "catppuccin-mocha";
|
||||
"terminal.integrated.shellIntegration.enabled" = false;
|
||||
"python.languageServer" = "Default";
|
||||
"json.schemaDownload.enable" = true;
|
||||
"git.autofetch" = true;
|
||||
"git.confirmSync" = false;
|
||||
"explorer.confirmDelete" = false;
|
||||
"redhat.telemetry.enabled" = false;
|
||||
|
||||
# MCP Server configuration for Continue.dev / Cline
|
||||
# These servers provide AI agents with direct access to:
|
||||
# - Database inspection (sqlite-inspector)
|
||||
# - Log analysis (pino-parser)
|
||||
# - API testing (api-tester)
|
||||
"mcp.servers" = {
|
||||
"unified-router-sqlite" = {
|
||||
command = "mcp-sqlite-inspector";
|
||||
env = {
|
||||
DEFAULT_DB_PATH = "/home/ashie/nixos/unified-router/data/database.db";
|
||||
};
|
||||
};
|
||||
"unified-router-logs" = {
|
||||
command = "mcp-pino-parser";
|
||||
env = {
|
||||
DEFAULT_LOG_PATH = "/home/ashie/nixos/unified-router/server.log";
|
||||
};
|
||||
};
|
||||
"unified-router-api" = {
|
||||
command = "mcp-api-tester";
|
||||
env = {
|
||||
ALLOWED_HOSTS = "localhost,127.0.0.1";
|
||||
DEFAULT_PORT = "9090";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Antigravity MCP Server Configuration
|
||||
home.file.".gemini/antigravity/mcp_config.json" = {
|
||||
force = true; # Allow overwriting existing file created by Antigravity
|
||||
text = builtins.toJSON {
|
||||
mcpServers = {
|
||||
unified-router-sqlite = {
|
||||
command = "mcp-sqlite-inspector";
|
||||
env = {
|
||||
DEFAULT_DB_PATH = "/home/ashie/nixos/unified-router/data/database.db";
|
||||
};
|
||||
};
|
||||
unified-router-logs = {
|
||||
command = "mcp-pino-parser";
|
||||
env = {
|
||||
DEFAULT_LOG_PATH = "/home/ashie/nixos/unified-router/server.log";
|
||||
};
|
||||
};
|
||||
unified-router-api = {
|
||||
command = "mcp-api-tester";
|
||||
env = {
|
||||
ALLOWED_HOSTS = "localhost,127.0.0.1";
|
||||
DEFAULT_PORT = "9090";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue