blob: cab136fb15891d1090808a435bbdf0a79a459dfb [file] [log] [blame]
{
inputs,
config,
lib,
pkgs,
system,
...
}:
let
cfg = config.chimera.users.coded;
in {
options.chimera.users.coded.enable = lib.mkEnableOption "Enable Chimera options for coded";
config = lib.mkIf cfg.enable {
# Chimera Config
chimera.nextcloud.enable = true;
chimera.shell.rebuildFlakePath = "/home/coded/Programming/Chimera/Nix/NixFiles";
chimera.shell = {
zsh.enable = true;
starship.enable = true;
defaultAliases.enable = true;
usefulPackages.enable = true;
replacements = {
defaultEnable = true;
bat.enable = false;
atuin.enableUpArrow = true;
};
};
chimera.git = {
radicle.enable = true;
jj.enable = true;
gitReview.enable = true;
auth.clicksUsername = "coded";
gpg.enable = true;
};
chimera.input.touchpad = {
enable = true;
scrolling.natural = true;
};
chimera.browser.firefox = {
enable = true;
extensions = {
bitwarden.enable = true;
youtube = {
sponsorBlock.enable = true;
returnDislike.enable = true;
deArrow.enable = true;
};
reactDevTools.enable = true;
adnauseam.enable = true;
};
search = {
enable = true;
extensions.enable = true;
bookmarks.enable = true;
engines = [
"Kagi"
"MDN"
"NixOS Options"
"NixOS Packages"
"Home-Manager Options"
"Noogle"
"GitHub"
"Arch Wiki"
"Gentoo Wiki"
];
};
extraExtensions = [
config.nur.repos.rycee.firefox-addons.refined-github
config.nur.repos.rycee.firefox-addons.new-tab-override
];
};
chimera.browser.chromium.enable = true;
chimera.games = {
minecraft.enable = true;
itch.enable = true;
};
chimera.editor = {
neovim.enable = true;
editorconfig.enable = true;
emacs = {
enable = true;
defaultEditor = false;
};
};
chimera.code.zed.enable = true;
chimera.theme.font.nerdFontGlyphs.enable = true;
chimera.theme.catppuccin = {
enable = true;
style = "Macchiato";
color = "Blue";
};
chimera.yubikey.enable = true;
chimera.niri.startupCommands = [
{
command = [ "nextcloud" ];
}
];
# Programming Folder Creation
home.file = {
"Programming/README.md" = {
text = ''
# Structure
[Org]/[Language]/[project]
Both Org and Language should be capitalized however project may follow any name scheme.
'';
};
"Programming/Personal/README.md" = {
text = ''
# What is this directory for?
This directory stores all my personal programming projects
# Git config modifications
user.name = "Samuel Shuert"
user.email = "me@thecoded.prof"
'';
};
"Programming/Auxolotl/README.md" = {
text = ''
# What is this directory for?
This directory stores all Auxolotl related programming projects
# Git config modifications
user.name = "Samuel Shuert"
user.email = "me@thecoded.prof"
'';
};
"Programming/Chimera/README.md" = {
text = ''
# What is this directory for?
This directory stores all Chimera related programming projects
# Git config modifications
user.name = "Samuel Shuert"
user.email = "me@thecoded.prof"
'';
};
"Programming/Clicks/README.md" = {
text = ''
# What is this directory for?
This directory stores all Clicks related programming projects
# Git config modifications
user.name = "Samuel Shuert"
user.email = "coded@clicks.codes"
'';
};
};
# Git Config
programs.git.includes = [
{
condition = "gitdir:~/Programming/Chimera/**";
contents = {
user.name = "Samuel Shuert";
user.email = "me@thecoded.prof";
};
}
{
condition = "gitdir:~/Programming/Clicks/**";
contents = {
user.name = "Samuel Shuert";
user.email = "coded@clicks.codes";
};
}
{
condition = "gitdir:~/Programming/Personal/**";
contents = {
user.name = "Samuel Shuert";
user.email = "me@thecoded.prof";
};
}
{
condition = "gitdir:~/Programming/Auxolotl/**";
contents = {
user.name = "Samuel Shuert";
user.email = "me@thecoded.prof";
};
}
];
programs.git.extraConfig.user = {
name = "Samuel Shuert";
signingkey = "00E944BFBE99ADB5";
};
# Additional Kitty Config
programs.kitty.extraConfig = ''
map kitty_mod+enter launch --cwd=current --type=window
map kitty_mod+t launch --cwd=current --type=tab
'';
# Additional Packages
home.packages = [ pkgs.foliate pkgs.openrgb inputs.zen-browser.packages."${system}".specific ];
};
}