zaneyos/hosts/familypc/home.nix

220 lines
6.1 KiB
Nix
Raw Normal View History

2024-05-14 08:44:34 +02:00
{
config,
pkgs,
inputs,
username,
host,
gtkThemeFromScheme,
...
}:
let
2024-05-15 00:55:17 +02:00
palette = config.colorScheme.palette;
2024-05-14 08:44:34 +02:00
inherit (import ./variables.nix)
gitUsername
gitEmail
theme
browser
;
in
{
2024-01-13 06:53:25 +01:00
# Home Manager Settings
2024-01-12 09:00:46 +01:00
home.username = "${username}";
2024-01-13 06:53:25 +01:00
home.homeDirectory = "/home/${username}";
2024-01-09 23:50:24 +01:00
home.stateVersion = "23.11";
# Set The Colorscheme
2024-01-15 20:00:56 +01:00
colorScheme = inputs.nix-colors.colorSchemes."${theme}";
# Import Program Configurations
imports = [
2024-01-14 08:54:57 +01:00
inputs.nix-colors.homeManagerModules.default
inputs.hyprland.homeManagerModules.default
2024-05-14 09:42:14 +02:00
../../config/hyprland.nix
../../config/waybar.nix
];
2024-01-13 06:53:25 +01:00
# Define Settings For Xresources
2024-01-09 23:50:24 +01:00
xresources.properties = {
"Xcursor.size" = 24;
};
# Place Files Inside Home Directory
home.file."Pictures/Wallpapers" = {
source = ../../config/wallpapers;
recursive = true;
};
home.file.".local/share/fonts" = {
source = ../../config/fonts;
recursive = true;
};
home.file.".config/starship.toml".source = ../../config/starship.toml;
2024-05-15 01:02:45 +02:00
home.file.".emoji".source = ../../config/emoji;
2024-01-13 06:53:25 +01:00
# Install & Configure Git
2024-01-09 23:50:24 +01:00
programs.git = {
enable = true;
2024-01-13 06:53:25 +01:00
userName = "${gitUsername}";
userEmail = "${gitEmail}";
2024-01-09 23:50:24 +01:00
};
2024-01-13 06:53:25 +01:00
# Create XDG Dirs
2024-01-09 23:50:24 +01:00
xdg = {
userDirs = {
2024-05-14 08:44:34 +02:00
enable = true;
createDirectories = true;
2024-01-09 23:50:24 +01:00
};
};
dconf.settings = {
"org/virt-manager/virt-manager/connections" = {
2024-05-14 08:44:34 +02:00
autoconnect = [ "qemu:///system" ];
uris = [ "qemu:///system" ];
};
};
# Scripts
home.packages = with pkgs; [
(import ../../scripts/emopicker9000.nix { inherit pkgs; })
(import ../../scripts/task-waybar.nix { inherit pkgs; })
(import ../../scripts/squirtle.nix { inherit pkgs; })
(import ../../scripts/themechange.nix { inherit pkgs; inherit host; inherit username; })
(import ../../scripts/theme-selector.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; })
];
programs = {
gh.enable = true;
kitty = {
enable = true;
package = pkgs.kitty;
font.name = "JetBrainsMono Nerd Font";
font.size = 16;
settings = {
scrollback_lines = 2000;
wheel_scroll_min_lines = 1;
window_padding_width = 4;
confirm_os_window_close = 0;
background_opacity = "0.9";
};
extraConfig = ''
foreground #${palette.base05}
background #${palette.base00}
color0 #${palette.base03}
color1 #${palette.base08}
color2 #${palette.base0B}
color3 #${palette.base09}
color4 #${palette.base0D}
color5 #${palette.base0E}
color6 #${palette.base0C}
color7 #${palette.base06}
color8 #${palette.base04}
color9 #${palette.base08}
color10 #${palette.base0B}
color11 #${palette.base0A}
color12 #${palette.base0C}
color13 #${palette.base0E}
color14 #${palette.base0C}
color15 #${palette.base07}
color16 #${palette.base00}
color17 #${palette.base0F}
color18 #${palette.base0B}
color19 #${palette.base09}
color20 #${palette.base0D}
color21 #${palette.base0E}
color22 #${palette.base0C}
color23 #${palette.base06}
cursor #${palette.base07}
cursor_text_color #${palette.base00}
selection_foreground #${palette.base01}
selection_background #${palette.base0D}
url_color #${palette.base0C}
active_border_color #${palette.base04}
inactive_border_color #${palette.base00}
bell_border_color #${palette.base03}
tab_bar_style fade
tab_fade 1
active_tab_foreground #${palette.base04}
active_tab_background #${palette.base00}
active_tab_font_style bold
inactive_tab_foreground #${palette.base07}
inactive_tab_background #${palette.base08}
inactive_tab_font_style bold
tab_bar_background #${palette.base00}
'';
};
starship = {
enable = true;
package = pkgs.starship;
};
bash = {
enable = true;
enableCompletion = true;
profileExtra = ''
#if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then
# exec Hyprland
#fi
'';
initExtra = ''
neofetch
if [ -f $HOME/.bashrc-personal ]; then
source $HOME/.bashrc-personal
fi
'';
sessionVariables = {
ZANEYOS = true;
};
shellAliases = {
sv = "sudo nvim";
flake-rebuild = "nh os switch --hostname ${host} /home/${username}/zaneyos";
flake-update = "nh os switch --hostname ${host} --update";
gcCleanup = "nix-collect-garbage --delete-old && sudo nix-collect-garbage -d && sudo /run/current-system/bin/switch-to-configuration boot";
v = "nvim";
ls = "lsd";
ll = "lsd -l";
la = "lsd -a";
lal = "lsd -al";
".." = "cd ..";
};
2024-05-14 09:42:14 +02:00
};
home-manager.enable = true;
hyprlock = {
enable = true;
settings = {
general = {
disable_loading_bar = true;
grace = 300;
hide_cursor = true;
no_fade_in = false;
};
background = [
{
path = "/home/${username}/.config/wallpapers/zaney-wallpaper.jpg";
blur_passes = 3;
blur_size = 8;
}
];
input-field = [
{
size = "200, 50";
position = "0, -80";
monitor = "";
dots_center = true;
fade_on_empty = false;
font_color = "rgb(202, 211, 245)";
inner_color = "rgb(91, 96, 120)";
outer_color = "rgb(24, 25, 38)";
outline_thickness = 5;
placeholder_text = "Password...";
shadow_passes = 2;
}
];
};
2024-05-14 09:42:14 +02:00
};
};
2024-01-09 23:50:24 +01:00
}