{ config, pkgs, ... }: { home.username = "lunita"; home.homeDirectory = "/home/lunita"; home.stateVersion = "25.05"; programs.zsh = { enable = true; syntaxHighlighting.enable = true; shellAliases = { c = "clear"; nf = "neofetch"; hmc = "nvim ~/.config/home-manager/home.nix"; hmb = "home-manager build switch"; fkc = "sudo nvim ~/.config/nixos/flake.nix"; nxr = "sudo nixos-rebuild switch --flake ~/.config/nixos#${config.home.sessionVariables.HOSTNAME}"; v = "nvim"; d = "cd ~/Documents"; D = "cd ~/Downloads"; }; initContent = '' # '~' => goto base of user home directory alias ~='cd ~' # Vim keybinds bindkey -v # Preferred editor for local and remote sessions if [[ -n $SSH_CONNECTION ]]; then export EDITOR='vim' else export EDITOR='nvim' fi # Set TERM for Ghostty ssh workaround if [[ "$TERM_PROGRAM" == "ghostty" ]]; then export TERM=xterm-256color fi ''; history.size = 10000; oh-my-zsh = { enable = true; plugins = [ "git" ]; theme = "lambda"; }; }; programs.git = { enable = true; userName = "lulusilly"; userEmail = "lunita@puppygirl.onl"; aliases = { ci = "commit"; co = "checkout"; s = "status"; }; }; programs.waybar = { enable = true; package = pkgs.waybar; # Define the Waybar style.css content here style = '' * { font-family: "JetBrainsMono Nerd Font", monospace; font-size: 13px; } #window { /* Example: style the window module */ background-color: #333333; color: #ffffff; border-radius: 8px; padding: 0 10px; } ''; # Define the Waybar config content here (JSON format) settings = { mainBar = { layer = "top"; position = "top"; modules-left = [ "hyprland/workspaces" "hyprland/window" ]; modules-center = [ "clock" ]; modules-right = [ "network" "pulseaudio" "battery" ]; }; }; }; nixpkgs.config.allowUnfree = true; home.packages = with pkgs; [ tree # Nice file tree views w/permissions neofetch # Muh epic r1ce!!! btop # Resource manager stow # For dotfiles deployment. May use home.file in future imagemagick # For converting images into other fmts sxiv # Minimal image viewer mpv # Video player zathura # PDF/CBZ/EPUB/DJVU reader tmux # Tride and true terminal multiplexer obsidian # For epic note taking (really just mediocre journaling) keepassxc # Secure password manager syncthing # Self explanatory ]; home.file = { # # Building this configuration will create a copy of 'dotfiles/screenrc' in # # the Nix store. Activating the configuration will then make '~/.screenrc' a # # symlink to the Nix store copy. # ".screenrc".source = dotfiles/screenrc; # # You can also set the file content immediately. # ".gradle/gradle.properties".text = '' # org.gradle.console=verbose # org.gradle.daemon.idletimeout=3600000 # ''; }; home.sessionVariables = { EDITOR = "nvim"; HOSTNAME = builtins.getEnv "HOSTNAME"; }; programs.home-manager.enable = true; }