Initial commit
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
{ pkgs, ... }: {
|
||||
home.username = "alex";
|
||||
home.homeDirectory = "/home/alex";
|
||||
home.stateVersion = "25.11";
|
||||
home.sessionPath = [ "$HOME/.local/bin" ];
|
||||
|
||||
imports = [
|
||||
./zsh.nix
|
||||
./ghostty.nix
|
||||
./helix.nix
|
||||
./starship.nix
|
||||
./git.nix
|
||||
./gh.nix
|
||||
./dropbox.nix
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
atool
|
||||
httpie
|
||||
pixi
|
||||
just
|
||||
spotify
|
||||
brave
|
||||
git-lfs
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
home.packages = [ pkgs.dropbox ];
|
||||
|
||||
systemd.user.services.dropbox = {
|
||||
Unit = {
|
||||
Description = "Dropbox service";
|
||||
};
|
||||
Install = {
|
||||
WantedBy = [ "default.target" ];
|
||||
};
|
||||
Service = {
|
||||
ExecStart = "${pkgs.dropbox}/bin/dropbox";
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
programs.gh = {
|
||||
enable = true;
|
||||
settings = {
|
||||
version = 1;
|
||||
git_protocol = "ssh";
|
||||
editor = "hx";
|
||||
prompt = "enabled";
|
||||
prefer_editor_prompt = "disabled";
|
||||
browser = "";
|
||||
pager = "";
|
||||
aliases = {
|
||||
co = "pr checkout";
|
||||
};
|
||||
http_unix_socket = "";
|
||||
color_labels = "disabled";
|
||||
accessible_colors = "disabled";
|
||||
accessible_prompter = "disabled";
|
||||
spinner = "enabled";
|
||||
};
|
||||
};
|
||||
|
||||
xdg.configFile."gh/hosts.yml".text = ''
|
||||
github.com:
|
||||
git_protocol: ssh
|
||||
users:
|
||||
aalexmmaldonado:
|
||||
user: aalexmmaldonado
|
||||
'';
|
||||
}
|
||||
@@ -0,0 +1,101 @@
|
||||
{ pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
programs.ghostty = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
# Font Settings
|
||||
"font-family" = "Roboto Mono";
|
||||
"font-size" = 10;
|
||||
"font-synthetic-style" = "bold,italic,bold-italic";
|
||||
|
||||
# Theme & Colors (OneDark)
|
||||
"background" = "#282c34";
|
||||
"foreground" = "#ffffff";
|
||||
"cursor-style" = "block";
|
||||
"palette" = [
|
||||
"0=#1d1f21" "1=#cc6666" "2=#b5bd68" "3=#f0c674" "4=#81a2be"
|
||||
"5=#b294bb" "6=#8abeb7" "7=#c5c8c6" "8=#666666" "9=#d54e53"
|
||||
"10=#b9ca4a" "11=#e7c547" "12=#7aa6da" "13=#c397d8" "14=#70c0b1"
|
||||
"15=#eaeaea" "16=#000000" "17=#00005f" "18=#000087" "19=#0000af"
|
||||
"20=#0000d7" "21=#0000ff" "22=#005f00" "23=#005f5f" "24=#005f87"
|
||||
"25=#005faf" "26=#005fd7" "27=#005fff" "28=#008700" "29=#00875f"
|
||||
"30=#008787" "31=#0087af" "32=#0087d7" "33=#0087ff" "34=#00af00"
|
||||
"35=#00af5f" "36=#00af87" "37=#00afaf" "38=#00afd7" "39=#00afff"
|
||||
"40=#00d700" "41=#00d75f" "42=#00d787" "43=#00d7af" "44=#00d7d7"
|
||||
"45=#00d7ff" "46=#00ff00" "47=#00ff5f" "48=#00ff87" "49=#00ffaf"
|
||||
"50=#00ffd7" "51=#00ffff" "52=#5f0000" "53=#5f005f" "54=#5f0087"
|
||||
"55=#5f00af" "56=#5f00d7" "57=#5f00ff" "58=#5f5f00" "59=#5f5f5f"
|
||||
"60=#5f5f87" "61=#5f5faf" "62=#5f5fd7" "63=#5f5fff" "64=#5f8700"
|
||||
"65=#5f875f" "66=#5f8787" "67=#5f87af" "68=#5f87d7" "69=#5f87ff"
|
||||
"70=#5faf00" "71=#5faf5f" "72=#5faf87" "73=#5fafaf" "74=#5fafd7"
|
||||
"75=#5fafff" "76=#5fd700" "77=#5fd75f" "78=#5fd787" "79=#5fd7af"
|
||||
"80=#5fd7d7" "81=#5fd7ff" "82=#5fff00" "83=#5fff5f" "84=#5fff87"
|
||||
"85=#5fffaf" "86=#5fffd7" "87=#5fffff" "88=#870000" "89=#87005f"
|
||||
"90=#870087" "91=#8700af" "92=#8700d7" "93=#8700ff" "94=#875f00"
|
||||
"95=#875f5f" "96=#875f87" "97=#875faf" "98=#875fd7" "99=#875fff"
|
||||
"100=#878700" "101=#87875f" "102=#878787" "103=#8787af" "104=#8787d7"
|
||||
"105=#8787ff" "106=#87af00" "107=#87af5f" "108=#87af87" "109=#87afaf"
|
||||
"110=#87afd7" "111=#87afff" "112=#87d700" "113=#87d75f" "114=#87d787"
|
||||
"115=#87d7af" "116=#87d7d7" "117=#87d7ff" "118=#87ff00" "119=#87ff5f"
|
||||
"120=#87ff87" "121=#87ffaf" "122=#87ffd7" "123=#87ffff" "124=#af0000"
|
||||
"125=#af005f" "126=#af0087" "127=#af00af" "128=#af00d7" "129=#af00ff"
|
||||
"130=#af5f00" "131=#af5f5f" "132=#af5f87" "133=#af5faf" "134=#af5fd7"
|
||||
"135=#af5fff" "136=#af8700" "137=#af875f" "138=#af8787" "139=#af87af"
|
||||
"140=#af87d7" "141=#af87ff" "142=#afaf00" "143=#afaf5f" "144=#afaf87"
|
||||
"145=#afafaf" "146=#afafd7" "147=#afafff" "148=#afd700" "149=#afd75f"
|
||||
"150=#afd787" "151=#afd7af" "152=#afd7d7" "153=#afd7ff" "154=#afff00"
|
||||
"155=#afff5f" "156=#afff87" "157=#afffaf" "158=#afffd7" "159=#afffff"
|
||||
"160=#d70000" "161=#d7005f" "162=#d70087" "163=#d700af" "164=#d700d7"
|
||||
"165=#d700ff" "166=#d75f00" "167=#d75f5f" "168=#d75f87" "169=#d75faf"
|
||||
"170=#d75fd7" "171=#d75fff" "172=#d78700" "173=#d7875f" "174=#d78787"
|
||||
"175=#d787af" "176=#d787d7" "177=#d787ff" "178=#d7af00" "179=#d7af5f"
|
||||
"180=#d7af87" "181=#d7afaf" "182=#d7afd7" "183=#d7afff" "184=#d7d700"
|
||||
"185=#d7d75f" "186=#d7d787" "187=#d7d7af" "188=#d7d7d7" "189=#d7d7ff"
|
||||
"190=#d7ff00" "191=#d7ff5f" "192=#d7ff87" "193=#d7ffaf" "194=#d7ffd7"
|
||||
"195=#d7ffff" "196=#ff0000" "197=#ff005f" "198=#ff0087" "199=#ff00af"
|
||||
"200=#ff00d7" "201=#ff00ff" "202=#ff5f00" "203=#ff5f5f" "204=#ff5f87"
|
||||
"205=#ff5faf" "206=#ff5fd7" "207=#ff5fff" "208=#ff8700" "209=#ff875f"
|
||||
"210=#ff8787" "211=#ff87af" "212=#ff87d7" "213=#ff87ff" "214=#ffaf00"
|
||||
"215=#ffaf5f" "216=#ffaf87" "217=#ffafaf" "218=#ffafd7" "219=#ffafff"
|
||||
"220=#ffd700" "221=#ffd75f" "222=#ffd787" "223=#ffd7af" "224=#ffd7d7"
|
||||
"225=#ffd7ff" "226=#ffff00" "227=#ffff5f" "228=#ffff87" "229=#ffffaf"
|
||||
"230=#ffffd7" "231=#ffffff" "232=#080808" "233=#121212" "234=#1c1c1c"
|
||||
"235=#262626" "236=#303030" "237=#3a3a3a" "238=#444444" "239=#4e4e4e"
|
||||
"240=#585858" "241=#626262" "242=#6c6c6c" "243=#767676" "244=#808080"
|
||||
"245=#8a8a8a" "246=#949494" "247=#9e9e9e" "248=#a8a8a8" "249=#b2b2b2"
|
||||
"250=#bcbcbc" "251=#c6c6c6" "252=#d0d0d0" "253=#dadada" "254=#e4e4e4"
|
||||
"255=#eeeeee"
|
||||
];
|
||||
|
||||
# Window Settings
|
||||
"window-padding-x" = 2;
|
||||
"window-padding-y" = 2;
|
||||
"window-inherit-working-directory" = true;
|
||||
"window-inherit-font-size" = true;
|
||||
"copy-on-select" = true;
|
||||
"confirm-close-surface" = true;
|
||||
|
||||
# Keybindings (Tabs & Splits)
|
||||
"keybind" = [
|
||||
"ctrl+t=new_tab"
|
||||
"ctrl+shift+w=close_tab"
|
||||
"ctrl+tab=next_tab"
|
||||
"ctrl+shift+o=new_split:right"
|
||||
"ctrl+shift+e=new_split:down"
|
||||
"ctrl+comma=open_config"
|
||||
"ctrl+shift+comma=reload_config"
|
||||
"ctrl+equal=increase_font_size:1"
|
||||
"ctrl+minus=decrease_font_size:1"
|
||||
"ctrl+zero=reset_font_size"
|
||||
];
|
||||
}
|
||||
// lib.optionalAttrs pkgs.stdenv.isDarwin {
|
||||
# macOS Specifics
|
||||
"macos-titlebar-style" = "transparent";
|
||||
"macos-icon" = "official";
|
||||
"keybind" = [ "super+d=unbind" ]; # Fix Linux conflict on Mac
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
programs.git = {
|
||||
enable = true;
|
||||
settings = {
|
||||
user.name = "Alex Maldonado";
|
||||
user.email = "aalexmmaldonado@gmail.com";
|
||||
init.defaultBranch = "main";
|
||||
core.editor = "hx";
|
||||
pull.rebase = true;
|
||||
|
||||
};
|
||||
lfs.enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,131 @@
|
||||
{ pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
macKeys = {
|
||||
"Cmd-b" = "page_up";
|
||||
"Cmd-f" = "page_down";
|
||||
"Cmd-u" = "page_cursor_half_up";
|
||||
"Cmd-d" = "page_cursor_half_down";
|
||||
"Cmd-j" = "insert_newline";
|
||||
"Cmd-h" = "delete_char_backward";
|
||||
"Cmd-w" = "delete_word_backward";
|
||||
"Cmd-x" = "completion";
|
||||
"Cmd-c" = "toggle_comments";
|
||||
"Cmd-i" = "jump_forward";
|
||||
"Cmd-o" = "jump_backward";
|
||||
"Cmd-s" = "save_selection";
|
||||
"Cmd-r" = "insert_register";
|
||||
"Cmd-z" = "suspend";
|
||||
"Cmd-a" = "increment";
|
||||
};
|
||||
in
|
||||
{
|
||||
programs.helix = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
|
||||
settings = {
|
||||
theme = "onedark";
|
||||
|
||||
editor = {
|
||||
scrolloff = 10;
|
||||
mouse = true;
|
||||
middle-click-paste = true;
|
||||
scroll-lines = 3;
|
||||
line-number = "absolute";
|
||||
cursorline = false;
|
||||
cursorcolumn = false;
|
||||
continue-comments = true;
|
||||
auto-completion = true;
|
||||
path-completion = true;
|
||||
auto-format = true;
|
||||
preview-completion-insert = true;
|
||||
completion-trigger-len = 2;
|
||||
auto-info = true;
|
||||
true-color = true;
|
||||
bufferline = "multiple";
|
||||
rulers = [ 88 ];
|
||||
color-modes = false;
|
||||
text-width = 88;
|
||||
default-line-ending = "lf";
|
||||
insert-final-newline = true;
|
||||
auto-pairs = false;
|
||||
|
||||
lsp = {
|
||||
enable = true;
|
||||
display-messages = true;
|
||||
auto-signature-help = true;
|
||||
display-inlay-hints = true;
|
||||
display-signature-help-docs = true;
|
||||
snippets = true;
|
||||
goto-reference-include-declaration = true;
|
||||
};
|
||||
|
||||
cursor-shape = {
|
||||
normal = "block";
|
||||
insert = "bar";
|
||||
select = "block";
|
||||
};
|
||||
|
||||
file-picker = {
|
||||
hidden = false;
|
||||
follow-symlinks = true;
|
||||
ignore = true;
|
||||
git-ignore = false;
|
||||
};
|
||||
|
||||
auto-save = {
|
||||
focus-lost = false;
|
||||
after-delay.enable = false;
|
||||
};
|
||||
|
||||
search = {
|
||||
smart-case = true;
|
||||
wrap-around = true;
|
||||
};
|
||||
|
||||
whitespace.render = {
|
||||
space = "none";
|
||||
tab = "all";
|
||||
nbsp = "none";
|
||||
nnbsp = "none";
|
||||
newline = "none";
|
||||
};
|
||||
|
||||
whitespace.characters = {
|
||||
tab = "→";
|
||||
};
|
||||
|
||||
indent-guides = {
|
||||
render = true;
|
||||
character = "⎪";
|
||||
skip-levels = 1;
|
||||
};
|
||||
|
||||
soft-wrap = {
|
||||
enable = true;
|
||||
max-wrap = 25;
|
||||
};
|
||||
|
||||
inline-diagnostics = {
|
||||
cursor-line = "info";
|
||||
};
|
||||
};
|
||||
|
||||
keys.normal = {
|
||||
"C-g" = [ ":new" ":insert-output lazygit" ":buffer-close!" ":redraw" ];
|
||||
"d" = "delete_selection_noyank";
|
||||
"A-d" = "delete_selection";
|
||||
} // lib.optionalAttrs pkgs.stdenv.isDarwin macKeys;
|
||||
|
||||
keys.select = {
|
||||
} // lib.optionalAttrs pkgs.stdenv.isDarwin macKeys;
|
||||
};
|
||||
|
||||
extraPackages = with pkgs; [
|
||||
marksman
|
||||
nil
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
{ lib, ... }:
|
||||
|
||||
{
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
autosuggestion.enable = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
|
||||
shellAliases = {
|
||||
ll = "ls -alF";
|
||||
la = "ls -A";
|
||||
l = "ls -CF";
|
||||
tp = "tree -I '__init__*' -I '__pycache__'";
|
||||
};
|
||||
|
||||
sessionVariables = {
|
||||
LANG = "en_US.UTF-8";
|
||||
RUST_BACKTRACE = "1";
|
||||
TYPST_FONT_PATHS = "$HOME/.fonts";
|
||||
};
|
||||
|
||||
oh-my-zsh = {
|
||||
enable = true;
|
||||
theme = "";
|
||||
plugins = [
|
||||
"git"
|
||||
"gh"
|
||||
"git-auto-fetch"
|
||||
"rust"
|
||||
"ssh"
|
||||
];
|
||||
};
|
||||
|
||||
initContent = ''
|
||||
# Conditional Editor logic
|
||||
if [[ -n $SSH_CONNECTION ]]; then
|
||||
export EDITOR='nano'
|
||||
else
|
||||
export EDITOR='hx'
|
||||
export GIT_EDITOR='hx'
|
||||
fi
|
||||
'';
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user