Initial commit

This commit is contained in:
Alex Maldonado
2026-05-07 17:49:39 -04:00
commit af832e9d83
17 changed files with 577 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
.direnv/
result
result-*
secrets.d/
Generated
+49
View File
@@ -0,0 +1,49 @@
{
"nodes": {
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1777851538,
"narHash": "sha256-Gp8qwTEYNoy2yvmErVGlvLOQvrtEECCAKbonW7VJef8=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "cc09c0f9b7eaa95c2d9827338a5eb03d32505ca5",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-25.11",
"repo": "home-manager",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1778003029,
"narHash": "sha256-q/nkKLDtHIyLjZpKhWk3cSK5IYsFqtMd6UtXF3ddjgA=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "0c88e1f2bdb93d5999019e99cb0e61e1fe2af4c5",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"home-manager": "home-manager",
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}
+38
View File
@@ -0,0 +1,38 @@
{
description = "Alex's NotFiles";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
home-manager = {
url = "github:nix-community/home-manager/release-25.11";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, home-manager, ... }@inputs:
let
system = "x86_64-linux";
in {
nixosConfigurations = {
# To add a new machine, duplicate this block and change the name
whitegrizzly = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = { inherit inputs; };
modules = [
./hosts/whitegrizzly
home-manager.nixosModules.home-manager
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.alex = import ./home/alex;
extraSpecialArgs = { inherit inputs; };
};
}
];
};
};
};
}
+26
View File
@@ -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
];
}
+18
View File
@@ -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";
};
};
}
+32
View File
@@ -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
'';
}
+101
View File
@@ -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
};
};
}
+17
View File
@@ -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;
};
}
+131
View File
@@ -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
];
};
}
+8
View File
@@ -0,0 +1,8 @@
{ lib, ... }:
{
programs.starship = {
enable = true;
enableZshIntegration = true;
};
}
+45
View File
@@ -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
'';
};
}
+32
View File
@@ -0,0 +1,32 @@
{ pkgs, ... }: {
imports = [
./hardware.nix
../../modules/core.nix
../../modules/plasma.nix
../../modules/security.nix
];
networking.hostName = "whitegrizzly";
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.kernelPackages = pkgs.linuxPackages_latest;
networking.networkmanager.enable = true;
programs.zsh.enable = true;
users.users.alex = {
isNormalUser = true;
shell = pkgs.zsh;
extraGroups = [ "wheel" "networkmanager" ];
};
programs._1password.enable = true;
programs._1password-gui = {
enable = true;
polkitPolicyOwners = [ "alex" ];
};
system.stateVersion = "25.11";
}
+33
View File
@@ -0,0 +1,33 @@
# Do not modify this file! It was generated by ‘nixos-generate-config’
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/29245dae-0f7b-4249-8d53-c305034156fa";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/3429-BC80";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices =
[ { device = "/dev/disk/by-uuid/e1adeb6e-feae-4627-a879-4667fd5e689e"; }
];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
+12
View File
@@ -0,0 +1,12 @@
host := `hostname`
rebuild:
sudo nixos-rebuild switch --flake .#{{host}}
update:
sudo nix flake update
gc:
sudo nix-env --delete-generations +3
sudo nix-store --gc
+15
View File
@@ -0,0 +1,15 @@
{ pkgs, ... }: {
nix.settings.experimental-features = [ "nix-command" "flakes" ];
nixpkgs.config.allowUnfree = true;
time.timeZone = "America/New_York";
i18n.defaultLocale = "en_US.UTF-8";
# Common packages for every machine
environment.systemPackages = with pkgs; [
wget
curl
git
tree
];
}
+8
View File
@@ -0,0 +1,8 @@
{ ... }: {
services.xserver.enable = true;
services.displayManager.sddm = {
enable = true;
wayland.enable = true;
};
services.desktopManager.plasma6.enable = true;
}
+7
View File
@@ -0,0 +1,7 @@
{ ... }: {
programs._1password.enable = true;
programs._1password-gui = {
enable = true;
polkitPolicyOwners = [ "alex" ];
};
}