Files
nix-zaneyos/hosts/garand-laptop/home.nix
2024-11-28 00:28:39 +01:00

259 lines
6.8 KiB
Nix

{
pkgs,
lib,
username,
host,
...
}: let
inherit (import ./variables.nix) gitUsername gitEmail;
in {
# Home Manager Settings
home.username = "${username}";
home.homeDirectory = "/home/${username}";
home.stateVersion = "23.11";
# Import Program Configurations
imports = [
../../config/emoji.nix
../../config/fastfetch
../../config/hyprland.nix
../../config/rofi/rofi.nix
../../config/rofi/config-emoji.nix
../../config/rofi/config-long.nix
../../config/swaync.nix
../../config/waybar.nix
../../config/wlogout.nix
../../config/fastfetch
];
# Place Files Inside Home Directory
home.file = {
"Pictures/Wallpapers".source = ../../config/wallpapers;
"Pictures/Wallpapers".recursive = true;
".config/wlogout/icons".source = ../../config/wlogout;
".config/wlogout/icons".recursive = true;
".face.icon".source = ../../config/face.jpg;
".config/face.jpg".source = ../../config/face.jpg;
".config/swappy/config".text = ''
[Default]
save_dir=/home/${username}/Pictures/Screenshots
save_filename_format=swappy-%Y%m%d-%H%M%S.png
show_panel=false
line_size=5
text_size=20
text_font=Ubuntu
paint_mode=brush
early_exit=true
fill_shape=false
'';
};
# Install & Configure Git
programs.git = {
enable = true;
userName = "${gitUsername}";
userEmail = "${gitEmail}";
};
# Create XDG Dirs
xdg = {
userDirs = {
enable = true;
createDirectories = true;
};
};
dconf.settings = {
"org/virt-manager/virt-manager/connections" = {
autoconnect = ["qemu:///system"];
uris = ["qemu:///system"];
};
};
# Styling Options
stylix = {
targets = {
waybar = {
enable = false;
};
rofi = {
enable = false;
};
hyprland = {
enable = false;
};
};
};
gtk = {
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
};
qt = {
enable = true;
style.name = "adwaita-dark";
platformTheme.name = "gtk3";
};
# Scripts
home.packages = [
(import ../../scripts/emopicker9000.nix {inherit pkgs;})
(import ../../scripts/task-waybar.nix {inherit pkgs;})
(import ../../scripts/squirtle.nix {inherit pkgs;})
(import ../../scripts/nvidia-offload.nix {inherit pkgs;})
(import ../../scripts/wallsetter.nix {
inherit pkgs;
inherit username;
})
(import ../../scripts/web-search.nix {inherit pkgs;})
(import ../../scripts/rofi-launcher.nix {inherit pkgs;})
(import ../../scripts/screenshootin.nix {inherit pkgs;})
(import ../../scripts/list-hypr-bindings.nix {
inherit pkgs;
inherit host;
})
];
services = {
hypridle = {
settings = {
general = {
after_sleep_cmd = "hyprctl dispatch dpms on";
ignore_dbus_inhibit = false;
lock_cmd = "hyprlock";
};
listener = [
{
timeout = 900;
on-timeout = "hyprlock";
}
{
timeout = 1200;
on-timeout = "hyprctl dispatch dpms off";
on-resume = "hyprctl dispatch dpms on";
}
];
};
};
};
programs = {
gh.enable = true;
btop = {
enable = true;
};
kitty = {
enable = true;
package = pkgs.kitty;
settings = {
scrollback_lines = 2000;
wheel_scroll_min_lines = 1;
window_padding_width = 4;
confirm_os_window_close = 0;
};
extraConfig = ''
tab_bar_style fade
tab_fade 1
active_tab_font_style bold
inactive_tab_font_style bold
'';
};
starship = {
enable = true;
package = pkgs.starship;
};
bash = {
enable = true;
enableCompletion = true;
profileExtra = ''
#if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then
# exec Hyprland
#fi
'';
initExtra = ''
fastfetch
if [ -f $HOME/.bashrc-personal ]; then
source $HOME/.bashrc-personal
fi
'';
shellAliases = {
os-sw = "sudo nixos-rebuild switch --flake ~/zaneyos";
os-bt = "sudo nixos-rebuild boot --flake ~/zaneyos";
os-ts = "sudo nixos-rebuild test --flake ~/zaneyos";
os-up = "sudo nix flake update";
os-up-np = "sudo nix flake update --update-input nixpkgs";
os-up-hm = "sudo nix flake update --update-input home-manager";
os-up-sx = "sudo nix flake update --update-input stylix";
fr = "nh os switch --hostname ${host} /home/${username}/zaneyos";
fu = "nh os switch --hostname ${host} --update /home/${username}/zaneyos";
zu = "sh <(curl -L https://gitlab.com/Zaney/zaneyos/-/raw/main/install-zaneyos.sh)";
ncg = "nix-collect-garbage --delete-old && sudo nix-collect-garbage -d && sudo /run/current-system/bin/switch-to-configuration boot";
n = "nano";
f = "fuck";
cat = "bat";
st = "speedtest";
ls = "eza --icons";
ll = "eza -lh --icons --grid --group-directories-first";
la = "eza -lah --icons --grid --group-directories-first";
ssh-server = "ssh garand_plg@192.168.1.156 -p 556 -i ~/.ssh/hp-t640-homeserver";
terminal = "cat /home/garand_plg/Documents/terminal.txt";
e-terminal = "nano /home/garand_plg/Documents/terminal.txt";
".." = "cd ..";
};
};
home-manager.enable = true;
hyprlock = {
enable = true;
settings = {
general = {
disable_loading_bar = true;
grace = 10;
hide_cursor = true;
no_fade_in = false;
};
background = lib.mkDefault [
{
path = "/home/${username}/Pictures/Wallpapers/attack-on-titan-mikasa-ackerman.jpg";
blur_passes = 3;
blur_size = 8;
}
];
image = [
{
path = "/home/${username}/.config/face.jpg";
size = 150;
border_size = 4;
border_color = "rgb(0C96F9)";
rounding = -1; # Negative means circle
position = "0, 200";
halign = "center";
valign = "center";
}
];
input-field = lib.mkDefault [
{
size = "200, 50";
position = "0, -80";
monitor = "";
dots_center = true;
fade_on_empty = false;
font_color = "rgb(CFE6F4)";
inner_color = "rgb(657DC2)";
outer_color = "rgb(0D0E15)";
outline_thickness = 5;
placeholder_text = "Password...";
shadow_passes = 2;
}
];
};
};
};
}