nixos/home.nix
2025-03-16 20:52:12 +01:00

163 lines
3.7 KiB
Nix

{ config, pkgs, ... }:
{
home.username = "victor";
home.homeDirectory = "/home/victor";
# link the configuration file in current directory to the specified location in home directory
# home.file.".config/i3/wallpaper.jpg".source = ./wallpaper.jpg;
# link all files in `./scripts` to `~/.config/i3/scripts`
# home.file.".config/i3/scripts" = {
# source = ./scripts;
# recursive = true; # link recursively
# executable = true; # make all files executable
# };
# encode the file content in nix configuration file directly
# home.file.".xxx".text = ''
# xxx
# '';
home.file.".Xresources".text = ''
!! Transparency (0-1):
*.alpha: 0.8
!! Set a default font and font size as below:
*.font: IntoneMonoNerdFontMono:size=16
*.background: #1d2021
*.foreground: #458588
*.selbackground: #458588
*.selforeground: #1d2021
/* !! gruvbox: */
*.color0: #1d2021
*.color1: #cc241d
*.color2: #98971a
*.color3: #d79921
*.color4: #458588
*.color5: #b16286
*.color6: #689d6a
*.color7: #a89984
*.color8: #928374
*.color9: #fb4934
*.color10: #b8bb26
*.color11: #fabd2f
*.color12: #83a598
*.color13: #d3869b
*.color14: #8ec07c
*.color15: #ebdbb2
*.color256: #1d2021
*.color257: #ebdbb2
'';
home.packages = with pkgs; [
neofetch
# archives
zip
xz
unzip
# big stuff
librewolf
# navigation
ripgrep # recursively searches directories for a regex pattern
lf # ranger written in C
fzf # A command-line fuzzy finder
bat # better cat
# networking tools
mtr # A network diagnostic tool
iperf3
dnsutils # `dig` + `nslookup`
ldns # replacement of `dig`, it provide the command `drill`
aria2 # A lightweight multi-protocol & multi-source command-line download utility
socat # replacement of openbsd-netcat
nmap # A utility for network discovery and security auditing
ipcalc # it is a calculator for the IPv4/v6 addresses
# misc
file
gnupg
# productivity
hugo # static site generator
glow # markdown previewer in terminal (insanely cool)
btop # replacement of htop/nmon
iotop # io monitoring
iftop # network monitoring
# system call monitoring
strace # system call monitoring
ltrace # library call monitoring
lsof # list open files
# system tools
pciutils # lspci
usbutils # lsusb
];
# basic configuration of git, please change to your own
programs.git = {
enable = true;
userName = "Victor Ișan";
userEmail = "victor@isan.ro";
};
# starship - an customizable prompt for any shell
programs.starship = {
enable = true;
# custom settings
settings = {
add_newline = false;
aws.disabled = true;
gcloud.disabled = true;
line_break.disabled = true;
};
};
# alacritty - a cross-platform, GPU-accelerated terminal emulator
programs.alacritty = {
enable = true;
# custom settings
settings = {
env.TERM = "xterm-256color";
font = {
size = 12;
draw_bold_text_with_bright_colors = true;
};
scrolling.multiplier = 5;
selection.save_to_clipboard = true;
};
};
programs.zsh = {
enable = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
history = {
save = 10000;
ignoreSpace = true;
ignoreDups = true;
extended = true;
share = true;
path = "$HOME/.zsh_history";
};
shellAliases = {
ls = "ls --color=yes";
la = "ls -a";
ll = "ls -l";
lla = "ls -la";
};
};
home.stateVersion = "24.11"; # Don't change.
# Let home Manager install and manage itself.
programs.home-manager.enable = true;
}