nixos-surface-config/hosts/surface/home.nix
Rohan Deshpande b0462a90af first commit
2024-09-08 20:27:05 -04:00

126 lines
3.0 KiB
Nix

{ config, pkgs, lib, ... }:
{
imports = [
./../../homeManagerModules/nixvim.nix
./../../homeManagerModules/gui/alacritty.nix
./../../homeManagerModules/gui/zathura.nix
./../../homeManagerModules/gui/qutebrowser.nix
./../../homeManagerModules/htop.nix
./../../homeManagerModules/lf.nix
./../../homeManagerModules/pandoc.nix
./../../homeManagerModules/texlive.nix
./../../homeManagerModules/bat.nix
];
# Home Manager needs a bit of information about you and the
# paths it should manage.
home.username = "rohand";
home.homeDirectory = "/home/rohand";
# This value determines the Home Manager release that your
# configuration is compatible with. This helps avoid breakage
# when a new Home Manager release introduces backwards
# incompatible changes.
#
# You can update Home Manager without changing this value. See
# the Home Manager release notes for a list of state version
# changes in each release.
home.stateVersion = "24.05";
home.packages = with pkgs; [
autotiling
i3status
fastfetch
nix-tree
sway-contrib.grimshot
runelite
(discord.override {
withOpenASAR = true;
withVencord = true;
})
obsidian
];
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
programs.zsh = {
enable = true;
enableSyntaxHighlighting = true;
loginExtra = "sway";
shellAliases = {
"update" = "sudo nixos-rebuild switch --flake /home/rohand/nixos-surface-config#surface";
};
oh-my-zsh = {
enable = true;
plugins = ["git" "vi-mode"];
theme = "minimal";
};
};
#programs.alacritty = {
# enable = true;
#};
programs.bemenu = {
enable = true;
};
programs.ranger = {
enable = true;
};
wayland.windowManager.sway = {
enable = true;
config = rec {
modifier = "Mod4";
menu = "bemenu-run";
gaps = {
inner = 10;
outer = 4;
smartGaps = false;
};
terminal = "alacritty";
window.titlebar = false;
startup = [
{command = "autotiling";}
];
keybindings =
let
modifier = config.wayland.windowManager.sway.config.modifier;
searchConfig = pkgs.writeShellApplication {
name = "searchConfig";
text = ''
find /home/rohand/nixos-surface-config \( ! -regex './\..*' \) -type f \
| bemenu -p "Edit which config file?" \
| xargs alacritty -e nvim \
'';
};
in lib.mkOptionDefault {
"${modifier}+n" = "exec ${lib.getExe searchConfig}" ;
"${modifier}+Shift+r" = "exec alacritty -e lf";
"${modifier}+q" = "kill";
"${modifier}+Shift+n" = "exec alacritty -e nvim -c VimwikiIndex";
"Print" = "exec ${pkgs.sway-contrib.grimshot}/bin/grimshot save area";
};
bars = [
({
mode = "dock";
hiddenState = "hide";
position = "top";
workspaceButtons = true;
workspaceNumbers = false;
statusCommand = "i3status";
trayOutput = "primary";
} // config.lib.stylix.sway.bar)
];
};
};
home.sessionVariables = {
OPENER = "rifle";
EDITOR = "nvim";
_JAVA_AWT_WM_NONREPARENTING = 1;
# MANPAGER = "sh -c 'col -bx | bat -l man -p'";
MANPAGER = "nvim +Man!";
# MANROFFOPT = "-c";
};
}