first commit

This commit is contained in:
Mars 2024-05-07 03:17:46 -04:00
commit f1c5038fd7
15 changed files with 2481 additions and 0 deletions

View file

@ -0,0 +1,32 @@
{pkgs, ...}:
with pkgs; {
imports = [
./fish.nix
./git.nix
./wezterm.nix
./macchina.nix
];
programs = {
bat = {
enable = true;
config.theme = "catppuccin";
themes.catppuccin = {
src = fetchFromGitHub {
owner = "catppuccin";
repo = "bat";
rev = "ba4d16880d63e656acced2b7d4e034e4a93f74b1";
hash = "sha256-6WVKQErGdaqb++oaXnY3i6/GuH2FhTgK0v4TN4Y0Wbw=";
};
file = "/Catppuccin-mocha.tmTheme";
};
};
zoxide = {
enable = true;
options = ["--cmd" "cd"];
};
};
}

135
modules/home/shell/fish.nix Normal file
View file

@ -0,0 +1,135 @@
{pkgs, ...}:
with pkgs; {
programs = {
fish = let
mkFishPlugins = names:
map (name: {
inherit name;
src = pkgs.fishPlugins.${name}.src;
})
names;
in {
enable = true;
plugins =
[
{
name = "replay.fish";
src = fetchFromGitHub {
owner = "jorgebucaran";
repo = "replay.fish";
rev = "bd8e5b89ec78313538e747f0292fcaf631e87bd2";
hash = "sha256-bM6+oAd/HXaVgpJMut8bwqO54Le33hwO9qet9paK1kY=";
};
}
{
name = "license";
src = fetchFromGitHub {
owner = "oh-my-fish";
repo = "plugin-license";
rev = "0155b16f102957ec0c734a90979245dc1073f979";
hash = "sha256-Bi9Q5rekZoyXYbRV+U4SmwCdqCl0pFupzm5si7SxFns=";
};
}
{
name = "wttr";
src = fetchFromGitHub {
owner = "oh-my-fish";
repo = "plugin-wttr";
rev = "7500e382e6b29a463edc57598217ce0cfaf8c90c";
hash = "sha256-k3FrRPxKCiObO6HgtDx8ORbcLmfSYQsQeq5SAoNfZbE=";
};
}
{
name = "gityaw";
src = fetchFromGitHub {
owner = "oh-my-fish";
repo = "plugin-gityaw";
rev = "59196560e0f4520db63fb8cab645510377bb8b13";
hash = "sha256-STXNxSsjSopB+lbB4hEYdhJifRfsImRwbZ1SxwEhkuM=";
};
}
{
name = "bang-bang";
src = fetchFromGitHub {
owner = "oh-my-fish";
repo = "plugin-bang-bang";
rev = "ec991b80ba7d4dda7a962167b036efc5c2d79419";
hash = "sha256-oPPCtFN2DPuM//c48SXb4TrFRjJtccg0YPXcAo0Lxq0=";
};
}
{
name = "autopair";
src = fetchFromGitHub {
owner = "jorgebucaran";
repo = "autopair.fish";
rev = "4d1752ff5b39819ab58d7337c69220342e9de0e2";
hash = "sha256-qt3t1iKRRNuiLWiVoiAYOu+9E7jsyECyIqZJ/oRIT1A=";
};
}
{
name = "done";
src = fetchFromGitHub {
owner = "franciscolourenco";
repo = "done";
rev = "d47f4d6551cccb0e46edfb14213ca0097ee22f9a";
hash = "sha256-VSCYsGjNPSFIZSdLrkc7TU7qyPVm8UupOoav5UqXPMk=";
};
}
]
++ (mkFishPlugins ["grc" "plugin-git"]);
shellAliases = {
cat = "${bat}/bin/bat";
df = "${duf}/bin/duf";
rm = "${rm-improved}/bin/rip";
cp = "${xcp}/bin/xcp";
};
interactiveShellInit = ''
function fish_greeting
macchina
end
'';
};
starship = {
enable = true;
settings = {
jobs.disabled = true;
palette = "catppuccin_mocha";
nix_shell.symbol = " ";
palettes.catppuccin_mocha = {
rosewater = "#f5e0dc";
flamingo = "#f2cdcd";
pink = "#f5c2e7";
mauve = "#cba6f7";
red = "#f38ba8";
maroon = "#eba0ac";
peach = "#fab387";
yellow = "#f9e2af";
green = "#a6e3a1";
teal = "#94e2d5";
sky = "#89dceb";
sapphire = "#74c7ec";
blue = "#89b4fa";
lavender = "#b4befe";
text = "#cdd6f4";
subtext1 = "#bac2de";
subtext0 = "#a6adc8";
overlay2 = "#9399b2";
overlay1 = "#7f849c";
overlay0 = "#6c7086";
surface2 = "#585b70";
surface1 = "#45475a";
surface0 = "#313244";
base = "#1e1e2e";
mantle = "#181825";
crust = "#11111b";
};
};
};
};
}

View file

@ -0,0 +1,28 @@
{pkgs, ...}:
with pkgs; {
programs = {
git = {
enable = true;
package = gitAndTools.gitFull;
userName = "pupbrained";
userEmail = "mars@pupbrained.xyz";
aliases.pushall = "!git remote | xargs -L1 git push";
difftastic.enable = true;
extraConfig = {
init.defaultBranch = "main";
push.autoSetupRemote = true;
};
signing = {
signByDefault = true;
key = "0FF5B8826803F895";
};
};
gh = {
enable = true;
extensions = [gh-copilot gh-dash gh-markdown-preview];
};
};
}

View file

@ -0,0 +1,95 @@
{pkgs, ...}:
with pkgs; {
programs.macchina = {
enable = true;
config = {
theme = "Mezora";
interface = "wlp4s0";
show = [
"DesktopEnvironment"
"Distribution"
"Kernel"
"LocalIP"
"Machine"
"Memory"
"Packages"
"ProcessorLoad"
"Resolution"
"Shell"
"Terminal"
"Uptime"
"WindowManager"
];
};
themes = {
Mezora = {
custom_ascii = {
path = writeText "nix_logo" ''
 
 
 
 
 
 
 
 
 
 
 
 
 
 
'';
};
separator = "";
separator_color = "blue";
key_color = "blue";
palette = {
type = "Dark";
visible = true;
glyph = " ";
};
box = {
border = "rounded";
visible = true;
inner_margin = {
x = 0;
y = 1;
};
};
bar = {
glyph = "";
hide_delimiters = true;
visible = true;
};
keys = {
kernel = " Kernel";
packages = " Packages";
cpu_load = " CPU";
memory = " Memory";
resolution = "󰔂 Res";
uptime = " Uptime";
distro = " Distro";
machine = "󰌢 Machine";
de = " DE";
local_ip = "󰤨 Local IP";
terminal = " Terminal";
shell = " Shell";
};
};
};
};
}

View file

@ -0,0 +1,107 @@
{...}: {
programs.wezterm = {
enable = true;
extraConfig = ''
local wezterm = require('wezterm')
local c = wezterm.config_builder()
local resize_amount = 3;
local wezmodeConfig = {
theme = {
textColor = "white",
hintColor = "#a6e3a1",
normalModeColor = "#cba6f7",
modeTextColor = "#11111b",
}
}
wezterm.plugin.require('https://github.com/nekowinston/wezterm-bar').apply_to_config(c, {
position = 'bottom',
max_width = 32,
dividers = 'slant_right',
indicator = {
leader = {
enabled = true,
off = ' ',
on = ' ',
},
mode = {
enabled = true,
names = {
resize_mode = 'RESIZE',
copy_mode = 'VISUAL',
search_mode = 'SEARCH',
},
},
},
tabs = {
numerals = 'arabic',
pane_count = 'subscript',
brackets = {
active = { "", ':' },
inactive = { "", ':' },
},
},
clock = {
enabled = true,
format = '%l:%M %p',
},
})
local act = wezterm.action
local keybinds = {
{
key = 'Enter',
mods = 'CTRL|SHIFT',
action = act.SplitHorizontal({ domain = 'CurrentPaneDomain' }),
},
{
key = 'h',
mods = 'ALT',
action = act.ActivatePaneDirection('Left'),
},
{
key = 'l',
mods = 'ALT',
action = act.ActivatePaneDirection 'Right',
},
{
key = 'k',
mods = 'ALT',
action = act.ActivatePaneDirection 'Up',
},
{
key = 'j',
mods = 'ALT',
action = act.ActivatePaneDirection 'Down',
},
}
local config = {
adjust_window_size_when_changing_font_size = false,
color_scheme = 'Catppuccin Mocha',
cursor_blink_ease_in = 'Constant',
cursor_blink_ease_out = 'Constant',
cursor_blink_rate = 500,
default_cursor_style = 'BlinkingBar',
enable_scroll_bar = false,
font_size = 12,
font = wezterm.font('Maple Mono NF'),
front_end = 'WebGpu',
underline_position = -4,
use_fancy_tab_bar = false,
webgpu_power_preference = 'HighPerformance',
window_background_opacity = 0.8,
window_padding = { left = 0, right = 0, top = 0, bottom = 0 },
}
for k, v in pairs(config) do
c[k] = v
end
return c
'';
};
}