mirror of
https://gitlab.com/Zaney/zaneyos.git
synced 2024-11-22 22:53:07 +01:00
262 lines
6.8 KiB
Nix
262 lines
6.8 KiB
Nix
{
|
|
pkgs,
|
|
inputs,
|
|
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 = [
|
|
inputs.hyprland.homeManagerModules.default
|
|
../../config/emoji.nix
|
|
../../config/hyprland.nix
|
|
../../config/neovim.nix
|
|
../../config/rofi/rofi.nix
|
|
../../config/rofi/config-emoji.nix
|
|
../../config/rofi/config-long.nix
|
|
../../config/swaync.nix
|
|
../../config/waybar.nix
|
|
../../config/wlogout.nix
|
|
];
|
|
|
|
# Place Files Inside Home Directory
|
|
home.file."Pictures/Wallpapers" = {
|
|
source = ../../config/wallpapers;
|
|
recursive = true;
|
|
};
|
|
home.file.".config/wlogout/icons" = {
|
|
source = ../../config/wlogout;
|
|
recursive = true;
|
|
};
|
|
home.file.".config/ascii-neofetch".source = ../../config/ascii-neofetch;
|
|
home.file.".face.icon".source = ../../config/face.jpg;
|
|
home.file.".config/face.jpg".source = ../../config/face.jpg;
|
|
home.file.".config/neofetch/config.conf".text = ''
|
|
print_info() {
|
|
prin "$(color 6) ZaneyOS $ZANEYOS_VERSION"
|
|
info underline
|
|
info "$(color 7) VER" kernel
|
|
info "$(color 2) UP " uptime
|
|
info "$(color 4) PKG" packages
|
|
info "$(color 6) DE " de
|
|
info "$(color 5) TER" term
|
|
info "$(color 3) CPU" cpu
|
|
info "$(color 7) GPU" gpu
|
|
info "$(color 5) MEM" memory
|
|
prin " "
|
|
prin "$(color 1) $(color 2) $(color 3) $(color 4) $(color 5) $(color 6) $(color 7) $(color 8)"
|
|
}
|
|
distro_shorthand="on"
|
|
memory_unit="gib"
|
|
cpu_temp="C"
|
|
separator=" $(color 4)>"
|
|
stdout="off"
|
|
'';
|
|
home.file.".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;
|
|
stylix.targets.rofi.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";
|
|
starship = {
|
|
enable = true;
|
|
package = pkgs.starship;
|
|
};
|
|
};
|
|
listener = [
|
|
{
|
|
timeout = 900;
|
|
on-timeout = "hyprlock";
|
|
}
|
|
{
|
|
timeout = 1200;
|
|
on-timeout = "hyprctl dispatch dpms off";
|
|
on-resume = "hyprctl dispatch dpms on";
|
|
}
|
|
];
|
|
};
|
|
};
|
|
};
|
|
|
|
programs = {
|
|
gh.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
|
|
'';
|
|
};
|
|
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
|
|
'';
|
|
shellAliases = {
|
|
sv = "sudo nvim";
|
|
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";
|
|
v = "nvim";
|
|
ls = "lsd";
|
|
ll = "lsd -l";
|
|
la = "lsd -a";
|
|
lal = "lsd -al";
|
|
".." = "cd ..";
|
|
neofetch = "neofetch --ascii ~/.config/ascii-neofetch";
|
|
};
|
|
};
|
|
home-manager.enable = true;
|
|
hyprlock = {
|
|
enable = true;
|
|
settings = {
|
|
general = {
|
|
disable_loading_bar = true;
|
|
grace = 10;
|
|
hide_cursor = true;
|
|
no_fade_in = false;
|
|
};
|
|
background = [
|
|
{
|
|
path = "/home/${username}/Pictures/Wallpapers/zaney-wallpaper.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 = [
|
|
{
|
|
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;
|
|
}
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|