# Fish Shell Configuration
# Personal settings and overrides
# Only add user-specific settings here
# System-wide settings are in /etc/nixos/modules/shell.nix
# Additional aliases (personal preferences)
alias vim="hx" # Use helix instead of vim
alias gss="git status -s"
alias gcm="git commit -m"
alias gca="git commit --amend"
alias gco="git checkout"
alias gb="git branch"
alias gba="git branch -a"
alias gbd="git branch -d"
alias gf="git fetch"
alias gr="git rebase"
alias gri="git rebase -i"
alias grc="git rebase --continue"
alias gra="git rebase --abort"
# Custom functions
# Quick project navigation
function proj
cd ~/projects/$argv
and ls
end
# Create directory and cd into it
function mkcd
mkdir -p $argv
and cd $argv
end
# Quick system update
function sysup
echo "Updating system..."
sudo nix-channel --update
and sudo nixos-rebuild switch --upgrade
and echo "System updated successfully!"
end
# Clean system
function sysclean
echo "Cleaning system..."
sudo nix-collect-garbage -d
and sudo nix-store --optimize
and echo "System cleaned!"
end
# Git push with upstream
function gpu
git push -u origin (git branch --show-current)
end
# Weather
function weather
curl "wttr.in/$argv"
end
# Personal environment variables
set -gx PROJECTS "$HOME/projects"
set -gx SCRIPTS "$HOME/scripts"
set -gx NOTES "$HOME/notes"
# Path additions (if needed)
# fish_add_path $HOME/.local/bin
# fish_add_path $HOME/scripts
# Load any local/private configurations
if test -f ~/.config/fish/local.fish
source ~/.config/fish/local.fish
end
# Greeting (optional - uncomment if you want a custom greeting)
# function fish_greeting
# echo "Welcome back, $USER!"
# echo "Today is" (date +"%A, %B %d, %Y")
# end
Phase 2: Enhanced Configuration
π These configurations add more advanced features and customizations
# Btop configuration file
# Color theme
color_theme = "Default"
# Update time in milliseconds
update_ms = 1000
# Processes sorting
proc_sorting = "cpu lazy"
# Reverse sorting order
proc_reversed = False
# Show processes as tree
proc_tree = True
# Use colors in process list
proc_colors = True
# Process gradients
proc_gradient = True
# Process command line
proc_per_core = False
# Process memory as graphs
proc_mem_bytes = True
# CPU graph settings
cpu_graph_upper = "total"
cpu_graph_lower = "total"
# CPU core load graph
cpu_invert_lower = True
cpu_single_graph = False
# Show CPU frequency
show_cpu_freq = True
# Show CPU temperature
check_temp = True
cpu_sensor = "Auto"
show_coretemp = True
temp_scale = "celsius"
# Show CPU stats
show_cpu_info = True
show_cpu_stats = True
# Memory display
show_mem_info = True
mem_graphs = True
show_swap = True
# Disk display
show_disks = True
use_fstab = True
disk_free_priv = False
show_io_stat = True
io_mode = False
io_graph_combined = False
# Network display
net_download = "10M"
net_upload = "10M"
net_auto = True
net_sync = False
# Battery display
show_battery = True
# Theme settings
theme_background = True
truecolor = True
rounded_corners = True
graph_symbol = "braille"
# Layout presets (0-9)
preset = "0"
# Log level
log_level = "WARNING"
Installation Steps
β Complete Installation Guide
Step 1: System Configuration
# Create modules directory
sudo mkdir -p /etc/nixos/modules
# Edit main configuration
sudo kate /etc/nixos/configuration.nix
# Edit each module file
sudo kate /etc/nixos/modules/hardware.nix
sudo kate /etc/nixos/modules/boot.nix
# ... etc for each module
# IMPORTANT: Adjust these in the files:
# - users.nix: Change 'mike' to your username
# - networking.nix: Change hostname
# - hardware.nix: Choose Intel or AMD CPU
# - configuration.nix: Set your timezone
# Test configuration
sudo nixos-rebuild test
# If successful, apply
sudo nixos-rebuild switch
Step 2: User Configuration
# Create config directories
mkdir -p ~/.config/hypr
mkdir -p ~/.config/waybar
mkdir -p ~/.config/foot
mkdir -p ~/.config/fish
# Copy configurations using kate
kate ~/.config/hypr/hyprland.conf
kate ~/.config/waybar/config
kate ~/.config/waybar/style.css
kate ~/.config/foot/foot.ini
kate ~/.config/fish/config.fish
# Set permissions
chmod +x ~/.config/waybar/config
Step 3: Post-Installation
# Reboot
sudo reboot
# After reboot:
# 1. Login with your username
# 2. Password is "changeme" - change it immediately:
passwd
# Test everything is working:
# - Alt+Return: Open terminal
# - Alt+D: Open app launcher
# - Alt+1-9: Switch workspaces