first commit
This commit is contained in:
commit
f1c5038fd7
15 changed files with 2481 additions and 0 deletions
32
modules/home/shell/default.nix
Normal file
32
modules/home/shell/default.nix
Normal 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
135
modules/home/shell/fish.nix
Normal 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";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
28
modules/home/shell/git.nix
Normal file
28
modules/home/shell/git.nix
Normal 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];
|
||||
};
|
||||
};
|
||||
}
|
95
modules/home/shell/macchina.nix
Normal file
95
modules/home/shell/macchina.nix
Normal 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" ''
|
||||
[38;2;69;71;90m▗▄▄▄ ▗▄▄▄▄ ▄▄▄▖[0m
|
||||
[38;2;69;71;90m▜███▙ ▜███▙ ▟███▛[0m
|
||||
[38;2;127;132;156m▜███▙ ▜███▙▟███▛[0m
|
||||
[38;2;127;132;156m▜███▙ ▜██████▛[0m
|
||||
[38;2;127;132;156m▟█████████████████▙ ▜████▛ ▟▙[0m
|
||||
▟███████████████████▙ ▜███▙ ▟██▙
|
||||
▄▄▄▄▖ ▜███▙ ▟███▛
|
||||
▟███▛ ▜██▛ ▟███▛
|
||||
[32m▟███▛ ▜▛ ▟███▛[0m
|
||||
[32m▟███████████▛ ▟██████████▙[0m
|
||||
[32m▜██████████▛ ▟███████████▛[0m
|
||||
[32m▟███▛ ▟▙ ▟███▛[0m
|
||||
▟███▛ ▟██▙ ▟███▛
|
||||
▟███▛ ▜███▙ ▝▀▀▀▀
|
||||
▜██▛ ▜███▙ ▜██████████████████▛
|
||||
[38;2;127;132;156m▜▛ ▟████▙ ▜████████████████▛[0m
|
||||
[38;2;127;132;156m▟██████▙ ▜███▙[0m
|
||||
[38;2;127;132;156m▟███▛▜███▙ ▜███▙[0m
|
||||
[38;2;69;71;90m▟███▛ ▜███▙ ▜███▙[0m
|
||||
[38;2;69;71;90m▝▀▀▀ ▀▀▀▀▘ ▀▀▀▘[0m
|
||||
'';
|
||||
};
|
||||
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";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
107
modules/home/shell/wezterm.nix
Normal file
107
modules/home/shell/wezterm.nix
Normal 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
|
||||
'';
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue