feat: initial commit

This commit is contained in:
Zoty 2026-03-27 19:34:02 -03:00
commit 54c34faa64
Signed by: Zoty
SSH key fingerprint: SHA256:WsGEGivgl37t3Mth6uugXMOgMCTR7QolIepNbC+j/tA
17 changed files with 841 additions and 0 deletions

47
modules/_home/default.nix Normal file
View file

@ -0,0 +1,47 @@
{ pkgs, ... }: {
home.packages = with pkgs; [
firefox
wezterm
];
programs.git = {
enable = true;
userName = "Zoty";
userEmail = "zotydev@gmail.com";
};
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
history = {
size = 10000;
path = "$HOME/.zsh_history";
};
setOptions = [
"HIST_IGNORE_ALL_DUPS"
"AUTO_CD"
];
initContent = ''
source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme
'';
oh-my-zsh = {
enable = true;
plugins = [
"git"
"dirhistory"
"history"
];
};
};
programs.direnv = {
enable = true;
nix-direnv.enable = true;
enableBashIntegration = true;
enableZshIntegration = true;
};
}

79
modules/_home/git.nix Normal file
View file

@ -0,0 +1,79 @@
{ pkgs, ... }:
let
gitUsername = "Zoty";
gitEmail = "zotydev@gmail.com";
myPublicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK8fKj0nQMJt9nnXbYgT4ggYuj6ieGCy6KL53frwoNHa";
in
{
home.packages = with pkgs; [ diff-so-fancy ];
home.file.".ssh/id_ed25519.pub".text = myPublicKey;
programs.git = {
enable = true;
settings = {
user = {
name = gitUsername;
email = gitEmail;
signingKey = "/run/secrets/ssh-private-key";
};
core = {
compression = 9;
whitespace = "error";
preloadindex = true;
};
advice = {
addEmptyPathspec = false;
pushNonFastForward = false;
statusHints = false;
};
init.defaultBranch = "main";
status = {
branch = true;
showStash = true;
showUntrackedFiles = "all";
};
diff = {
context = 3;
rename = "copies";
interHunkContext = 10;
};
pager = {
diff = "diff-so-fancy | $PAGER";
branch = false;
tag = false;
};
diff-so-fancy.markEmptyLines = false;
interactive = {
diffFilter = "diff-so-fancy --patch";
singlekey = true;
};
push = {
autoSetupRemote = true;
default = "current";
followTags = true;
};
pull = {
default = "current";
rebase = true;
};
rebase = {
autoStash = true;
missingCommitsCheck = "warn";
};
log = {
abbrevCommit = true;
graphColors = "blue,yellow,cyan,magenta,green,red";
};
branch.sort = "-committerdate";
tag.sort = "-taggerdate";
commit.gpgSign = true;
gpg.format = "ssh";
url = {
"git@github.com:ZotyDev/".insteadOf = "zoty:";
"git@github.com:UnnamedEngine/".insteadOf = "unen:";
"git@github.com:Taumaturgo/".insteadOf = "taumaturgo:";
};
};
};
}

73
modules/_home/niri.nix Normal file
View file

@ -0,0 +1,73 @@
{ pkgs, ... }: {
xdg.configFile."niri/config.kdl".text = ''
// Modificadores: Mod = Super (tecla Windows)
input {
keyboard {
xkb {
layout "en"
}
}
touchpad {
tap
natural-scroll
}
}
layout {
gaps 8
border {
width 2
active-color "#7aa2f7"
inactive-color "#3b4261"
}
}
prefer-no-csd
screenshot-path "~/Imagens/screenshots/%Y-%m-%d %H-%M-%S.png"
binds {
// Aplicativos
Mod+Return { spawn "wezterm"; }
Mod+D { spawn "fuzzel"; }
Mod+Q { close-window; }
// Foco
Mod+Left { focus-column-left; }
Mod+Right { focus-column-right; }
Mod+Up { focus-window-up; }
Mod+Down { focus-window-down; }
// Mover janelas
Mod+Shift+Left { move-column-left; }
Mod+Shift+Right { move-column-right; }
Mod+Shift+Up { move-window-up; }
Mod+Shift+Down { move-window-down; }
// Workspaces
Mod+1 { focus-workspace 1; }
Mod+2 { focus-workspace 2; }
Mod+3 { focus-workspace 3; }
Mod+4 { focus-workspace 4; }
Mod+5 { focus-workspace 5; }
Mod+Shift+1 { move-window-to-workspace 1; }
Mod+Shift+2 { move-window-to-workspace 2; }
Mod+Shift+3 { move-window-to-workspace 3; }
Mod+Shift+4 { move-window-to-workspace 4; }
Mod+Shift+5 { move-window-to-workspace 5; }
// Sistema
Mod+Shift+E { quit; }
Mod+L { spawn "swaylock"; }
// Volume
XF86AudioRaiseVolume { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "5%+"; }
XF86AudioLowerVolume { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "5%-"; }
XF86AudioMute { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; }
// Screenshot
Print { screenshot; }
Mod+Print { screenshot-screen; }
}
'';
}