220 lines
4.9 KiB
Nix
Executable file
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
|
|
];
|
|
};
|
|
}
|