home-manager/home.nix
mtgmonkey b368375a37 dust
2025-06-13 13:11:43 -04:00

220 lines
4.9 KiB
Nix
Executable file

{
pkgs,
lib,
...
}: let
HOME = "/home/mtgmonkey";
USERNAME = "mtgmonkey";
HOSTNAME = "nixos";
in {
imports = [./home/stylix.nix];
programs = {
bash = {
enable = true;
shellAliases = {
# replacements
neofetch = lib.mkForce "fastfetch";
ls = lib.mkForce "lsd";
ll = lib.mkForce "lsd -l";
l = lib.mkForce "lsd -la";
cd = lib.mkForce "z";
# gen
gg = lib.mkForce "git log --oneline --abbrev-commit --all --graph --decorate --color";
md = lib.mkForce "glow";
# nixos/hm
hm = lib.mkForce "home-manager";
hm-check = lib.mkForce "nix check flake ${HOME}/dotfiles/.";
hm-switch = lib.mkForce "home-manager switch --flake ${HOME}/.dotfiles/. -f ${HOME}/.dotfiles/home.nix";
nix-check = lib.mkForce "nix check flake /etc/nixos/.";
nix-switch = lib.mkForce "nixos-rebuild switch --flake /etc/nixos/.";
};
bashrcExtra = ''
PS1="\u@\h:\w$ "
eval "$(zoxide init bash)"
'';
};
btop = {
enable = true;
settings = {
theme_background = false;
vim_keys = true;
rounded_corners = false;
graph_symbol = "braille";
update_ms = 200;
proc_sorting = "cpu lazy";
proc_gradient = false;
proc_left = true;
cpu_single_graph = true;
cpu_bottom = true;
clock_format = "/user@/host:/uptime@%H:%M";
background_update = false;
mem_graphs = false;
mem_below_net = true;
show_swap = true;
only_physical = true;
show_io_stat = true;
io_mode = false;
io_graph_combined = false;
log_level = "ERROR";
};
};
# alias
git = {
enable = true;
userName = USERNAME;
userEmail = "${USERNAME}@${HOSTNAME}";
extraConfig = {
init.defaultBranch = "master";
};
};
gh.enable = true;
nvf = {
enable = true;
settings.vim = {
autocomplete.nvim-cmp.enable = false;
formatter.conform-nvim = {
enable = true;
setupOpts.format_on_save = {
lsp_format = "fallback";
timeout_ms = 5000;
};
};
lsp.otter-nvim.enable = true;
git.enable = true;
keymaps = [
{
key = "<Down>";
mode = ["i" "n" "v" "c"];
action = "<NOP>";
}
{
key = "<Up>";
mode = ["i" "n" "v" "c"];
action = "<NOP>";
}
{
key = "<Left>";
mode = ["i" "n" "v" "c"];
action = "<NOP>";
}
{
key = "<Right>";
mode = ["i" "n" "v" "c"];
action = "<NOP>";
}
{
key = "jj";
mode = ["i"];
action = "<Esc>";
}
{
key = "kk";
mode = ["i"];
action = "<Esc>";
}
{
key = "jk";
mode = ["i"];
action = "<Esc>";
}
{
key = "kj";
mode = ["i"];
action = "<Esc>";
}
{
key = "<Esc>";
mode = ["i"];
action = "<Nop>";
}
];
languages = {
assembly.enable = true;
nix = {
enable = true;
format.enable = true;
lsp.enable = true;
};
rust = {
enable = true;
format.enable = true;
lsp.enable = true;
};
haskell = {
enable = true;
lsp.enable = true;
};
};
lineNumberMode = "relative";
options = {
tabstop = 2;
shiftwidth = 2;
expandtab = true;
smarttab = true;
foldmethod = "indent";
number = true;
};
statusline.lualine.enable = true;
syntaxHighlighting = true;
};
};
qutebrowser.enable = true;
rofi.enable = true;
ssh.enable = true;
home-manager.enable = true;
# alias
# replacements
fastfetch.enable = true;
lsd.enable = true;
};
services = {
udiskie = {
enable = false;
settings.program_options.file_manager = "${pkgs.ranger}/bin/ranger";
};
};
xsession.windowManager.xmonad = {
enable = true;
enableContribAndExtras = true;
config = ./home/xmonad/config.hs;
};
xdg.configFile."shell".source = lib.getExe pkgs.brush;
home = {
username = USERNAME;
homeDirectory = HOME;
stateVersion = "25.05";
packages = [
pkgs.acpi
pkgs.brush
pkgs.brightnessctl
pkgs.dust
pkgs.flameshot
pkgs.fzf
pkgs.jmtpfs
pkgs.nix-output-monitor
pkgs.lynx
pkgs.rip2
pkgs.ripgrep
pkgs.tree
# alias
pkgs.glow
pkgs.zoxide
];
};
}