Adding back waybar, wallpapers, and fonts

This commit is contained in:
Tyler Kelley 2024-05-14 13:04:27 -05:00
parent 32a9191fce
commit 5c04d0dc11
11 changed files with 771 additions and 224 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,11 +1,24 @@
{ pkgs, config, lib, inputs, host, ... }: {
pkgs,
config,
lib,
inputs,
host,
...
}:
let let
theme = config.colorScheme.palette; theme = config.colorScheme.palette;
hyprplugins = inputs.hyprland-plugins.packages.${pkgs.system}; hyprplugins = inputs.hyprland-plugins.packages.${pkgs.system};
inherit (import ../hosts/${host}/variables.nix) inherit (import ../hosts/${host}/variables.nix)
browser borderAnim terminal extraMonitorSettings; browser
in with lib; { borderAnim
terminal
extraMonitorSettings
;
in
with lib;
{
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;
xwayland.enable = true; xwayland.enable = true;
@ -13,178 +26,190 @@ in with lib; {
plugins = [ plugins = [
# hyprplugins.hyprtrails # hyprplugins.hyprtrails
]; ];
extraConfig = let extraConfig =
modifier = "SUPER"; let
in concatStrings [ '' modifier = "SUPER";
monitor=,preferred,auto,1 in
${extraMonitorSettings} concatStrings [
general { ''
gaps_in = 6 monitor=,preferred,auto,1
gaps_out = 8 ${extraMonitorSettings}
border_size = 2 general {
col.active_border = rgba(${theme.base0C}ff) rgba(${theme.base0D}ff) rgba(${theme.base0B}ff) rgba(${theme.base0E}ff) 45deg gaps_in = 6
col.inactive_border = rgba(${theme.base00}cc) rgba(${theme.base01}cc) 45deg gaps_out = 8
layout = dwindle border_size = 2
resize_on_border = true col.active_border = rgba(${theme.base0C}ff) rgba(${theme.base0D}ff) rgba(${theme.base0B}ff) rgba(${theme.base0E}ff) 45deg
} col.inactive_border = rgba(${theme.base00}cc) rgba(${theme.base01}cc) 45deg
layout = dwindle
resize_on_border = true
}
input { input {
kb_layout = us kb_layout = us
kb_options = grp:alt_shift_toggle kb_options = grp:alt_shift_toggle
kb_options=caps:super kb_options=caps:super
follow_mouse = 1 follow_mouse = 1
touchpad { touchpad {
natural_scroll = false natural_scroll = false
} }
sensitivity = 0 # -1.0 - 1.0, 0 means no modification. sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
accel_profile = flat accel_profile = flat
} }
env = NIXOS_OZONE_WL, 1 env = NIXOS_OZONE_WL, 1
env = NIXPKGS_ALLOW_UNFREE, 1 env = NIXPKGS_ALLOW_UNFREE, 1
env = XDG_CURRENT_DESKTOP, Hyprland env = XDG_CURRENT_DESKTOP, Hyprland
env = XDG_SESSION_TYPE, wayland env = XDG_SESSION_TYPE, wayland
env = XDG_SESSION_DESKTOP, Hyprland env = XDG_SESSION_DESKTOP, Hyprland
env = GDK_BACKEND, wayland env = GDK_BACKEND, wayland
env = CLUTTER_BACKEND, wayland env = CLUTTER_BACKEND, wayland
env = QT_QPA_PLATFORM, wayland env = QT_QPA_PLATFORM, wayland
env = QT_WAYLAND_DISABLE_WINDOWDECORATION, 1 env = QT_WAYLAND_DISABLE_WINDOWDECORATION, 1
env = QT_AUTO_SCREEN_SCALE_FACTOR, 1 env = QT_AUTO_SCREEN_SCALE_FACTOR, 1
env = MOZ_ENABLE_WAYLAND, 1 env = MOZ_ENABLE_WAYLAND, 1
gestures { gestures {
workspace_swipe = true workspace_swipe = true
workspace_swipe_fingers = 3 workspace_swipe_fingers = 3
} }
misc { misc {
mouse_move_enables_dpms = true mouse_move_enables_dpms = true
key_press_enables_dpms = false key_press_enables_dpms = false
} }
animations { animations {
enabled = yes enabled = yes
bezier = wind, 0.05, 0.9, 0.1, 1.05 bezier = wind, 0.05, 0.9, 0.1, 1.05
bezier = winIn, 0.1, 1.1, 0.1, 1.1 bezier = winIn, 0.1, 1.1, 0.1, 1.1
bezier = winOut, 0.3, -0.3, 0, 1 bezier = winOut, 0.3, -0.3, 0, 1
bezier = liner, 1, 1, 1, 1 bezier = liner, 1, 1, 1, 1
animation = windows, 1, 6, wind, slide animation = windows, 1, 6, wind, slide
animation = windowsIn, 1, 6, winIn, slide animation = windowsIn, 1, 6, winIn, slide
animation = windowsOut, 1, 5, winOut, slide animation = windowsOut, 1, 5, winOut, slide
animation = windowsMove, 1, 5, wind, slide animation = windowsMove, 1, 5, wind, slide
animation = border, 1, 1, liner animation = border, 1, 1, liner
${if borderAnim == true then '' ${
animation = borderangle, 1, 30, liner, loop if borderAnim == true then
'' else '' ''
''} animation = borderangle, 1, 30, liner, loop
animation = fade, 1, 10, default ''
animation = workspaces, 1, 5, wind else
} ''''
decoration { }
rounding = 10 animation = fade, 1, 10, default
drop_shadow = false animation = workspaces, 1, 5, wind
blur { }
enabled = true decoration {
size = 5 rounding = 10
passes = 3 drop_shadow = false
new_optimizations = on blur {
ignore_opacity = on enabled = true
} size = 5
} passes = 3
plugin { new_optimizations = on
hyprtrails { ignore_opacity = on
color = rgba(${theme.base0A}ff) }
} }
} plugin {
exec-once = dbus-update-activation-environment --systemd --all hyprtrails {
exec-once = systemctl --user import-environment QT_QPA_PLATFORMTHEME WAYLAND_DISPLAY XDG_CURRENT_DESKTOP color = rgba(${theme.base0A}ff)
exec-once = swww init }
exec-once = waybar }
exec-once = swaync exec-once = dbus-update-activation-environment --systemd --all
exec-once = wallsetter exec-once = systemctl --user import-environment QT_QPA_PLATFORMTHEME WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = nm-applet --indicator exec-once = swww init
dwindle { exec-once = waybar
pseudotile = true exec-once = swaync
preserve_split = true exec-once = nm-applet --indicator
} exec-once = lxqt-policykit-agent
master { dwindle {
new_is_master = true pseudotile = true
} preserve_split = true
bind = ${modifier},Return,exec,${terminal} }
bind = ${modifier}SHIFT,Return,exec,rofi-launcher master {
bind = ${modifier}SHIFT,W,exec,web-search new_is_master = true
bind = ${modifier}SHIFT,N,exec,swaync-client -rs }
${if browser == "google-chrome" then '' bind = ${modifier},Return,exec,${terminal}
bind = ${modifier},W,exec,google-chrome-stable bind = ${modifier}SHIFT,Return,exec,rofi-launcher
'' else '' bind = ${modifier}SHIFT,W,exec,web-search
bind = ${modifier},W,exec,${browser} bind = ${modifier}SHIFT,N,exec,swaync-client -rs
''} ${
bind = ${modifier},E,exec,emopicker9000 if browser == "google-chrome" then
bind = ${modifier},S,exec,screenshootin ''
bind = ${modifier},D,exec,discord bind = ${modifier},W,exec,google-chrome-stable
bind = ${modifier},O,exec,obs ''
bind = ${modifier},G,exec,gimp else
bind = ${modifier}SHIFT,G,exec,godot4 ''
bind = ${modifier},T,exec,thunar bind = ${modifier},W,exec,${browser}
bind = ${modifier},M,exec,spotify ''
bind = ${modifier},Q,killactive, }
bind = ${modifier},P,pseudo, bind = ${modifier},E,exec,emopicker9000
bind = ${modifier}SHIFT,I,togglesplit, bind = ${modifier},S,exec,screenshootin
bind = ${modifier},F,fullscreen, bind = ${modifier},D,exec,discord
bind = ${modifier}SHIFT,F,togglefloating, bind = ${modifier},O,exec,obs
bind = ${modifier}SHIFT,C,exit, bind = ${modifier},G,exec,gimp
bind = ${modifier}SHIFT,left,movewindow,l bind = ${modifier}SHIFT,G,exec,godot4
bind = ${modifier}SHIFT,right,movewindow,r bind = ${modifier},T,exec,thunar
bind = ${modifier}SHIFT,up,movewindow,u bind = ${modifier},M,exec,spotify
bind = ${modifier}SHIFT,down,movewindow,d bind = ${modifier},Q,killactive,
bind = ${modifier}SHIFT,h,movewindow,l bind = ${modifier},P,pseudo,
bind = ${modifier}SHIFT,l,movewindow,r bind = ${modifier}SHIFT,I,togglesplit,
bind = ${modifier}SHIFT,k,movewindow,u bind = ${modifier},F,fullscreen,
bind = ${modifier}SHIFT,j,movewindow,d bind = ${modifier}SHIFT,F,togglefloating,
bind = ${modifier},left,movefocus,l bind = ${modifier}SHIFT,C,exit,
bind = ${modifier},right,movefocus,r bind = ${modifier}SHIFT,left,movewindow,l
bind = ${modifier},up,movefocus,u bind = ${modifier}SHIFT,right,movewindow,r
bind = ${modifier},down,movefocus,d bind = ${modifier}SHIFT,up,movewindow,u
bind = ${modifier},h,movefocus,l bind = ${modifier}SHIFT,down,movewindow,d
bind = ${modifier},l,movefocus,r bind = ${modifier}SHIFT,h,movewindow,l
bind = ${modifier},k,movefocus,u bind = ${modifier}SHIFT,l,movewindow,r
bind = ${modifier},j,movefocus,d bind = ${modifier}SHIFT,k,movewindow,u
bind = ${modifier},1,workspace,1 bind = ${modifier}SHIFT,j,movewindow,d
bind = ${modifier},2,workspace,2 bind = ${modifier},left,movefocus,l
bind = ${modifier},3,workspace,3 bind = ${modifier},right,movefocus,r
bind = ${modifier},4,workspace,4 bind = ${modifier},up,movefocus,u
bind = ${modifier},5,workspace,5 bind = ${modifier},down,movefocus,d
bind = ${modifier},6,workspace,6 bind = ${modifier},h,movefocus,l
bind = ${modifier},7,workspace,7 bind = ${modifier},l,movefocus,r
bind = ${modifier},8,workspace,8 bind = ${modifier},k,movefocus,u
bind = ${modifier},9,workspace,9 bind = ${modifier},j,movefocus,d
bind = ${modifier},0,workspace,10 bind = ${modifier},1,workspace,1
bind = ${modifier}SHIFT,SPACE,movetoworkspace,special bind = ${modifier},2,workspace,2
bind = ${modifier},SPACE,togglespecialworkspace bind = ${modifier},3,workspace,3
bind = ${modifier}SHIFT,1,movetoworkspace,1 bind = ${modifier},4,workspace,4
bind = ${modifier}SHIFT,2,movetoworkspace,2 bind = ${modifier},5,workspace,5
bind = ${modifier}SHIFT,3,movetoworkspace,3 bind = ${modifier},6,workspace,6
bind = ${modifier}SHIFT,4,movetoworkspace,4 bind = ${modifier},7,workspace,7
bind = ${modifier}SHIFT,5,movetoworkspace,5 bind = ${modifier},8,workspace,8
bind = ${modifier}SHIFT,6,movetoworkspace,6 bind = ${modifier},9,workspace,9
bind = ${modifier}SHIFT,7,movetoworkspace,7 bind = ${modifier},0,workspace,10
bind = ${modifier}SHIFT,8,movetoworkspace,8 bind = ${modifier}SHIFT,SPACE,movetoworkspace,special
bind = ${modifier}SHIFT,9,movetoworkspace,9 bind = ${modifier},SPACE,togglespecialworkspace
bind = ${modifier}SHIFT,0,movetoworkspace,10 bind = ${modifier}SHIFT,1,movetoworkspace,1
bind = ${modifier}CONTROL,right,workspace,e+1 bind = ${modifier}SHIFT,2,movetoworkspace,2
bind = ${modifier}CONTROL,left,workspace,e-1 bind = ${modifier}SHIFT,3,movetoworkspace,3
bind = ${modifier},mouse_down,workspace, e+1 bind = ${modifier}SHIFT,4,movetoworkspace,4
bind = ${modifier},mouse_up,workspace, e-1 bind = ${modifier}SHIFT,5,movetoworkspace,5
bindm = ${modifier},mouse:272,movewindow bind = ${modifier}SHIFT,6,movetoworkspace,6
bindm = ${modifier},mouse:273,resizewindow bind = ${modifier}SHIFT,7,movetoworkspace,7
bind = ALT,Tab,cyclenext bind = ${modifier}SHIFT,8,movetoworkspace,8
bind = ALT,Tab,bringactivetotop bind = ${modifier}SHIFT,9,movetoworkspace,9
bind = ,XF86AudioRaiseVolume,exec,wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ bind = ${modifier}SHIFT,0,movetoworkspace,10
bind = ,XF86AudioLowerVolume,exec,wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- bind = ${modifier}CONTROL,right,workspace,e+1
binde = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle bind = ${modifier}CONTROL,left,workspace,e-1
bind = ,XF86AudioPlay, exec, playerctl play-pause bind = ${modifier},mouse_down,workspace, e+1
bind = ,XF86AudioPause, exec, playerctl play-pause bind = ${modifier},mouse_up,workspace, e-1
bind = ,XF86AudioNext, exec, playerctl next bindm = ${modifier},mouse:272,movewindow
bind = ,XF86AudioPrev, exec, playerctl previous bindm = ${modifier},mouse:273,resizewindow
bind = ,XF86MonBrightnessDown,exec,brightnessctl set 5%- bind = ALT,Tab,cyclenext
bind = ,XF86MonBrightnessUp,exec,brightnessctl set +5% bind = ALT,Tab,bringactivetotop
'' ]; bind = ,XF86AudioRaiseVolume,exec,wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
bind = ,XF86AudioLowerVolume,exec,wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
binde = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bind = ,XF86AudioPlay, exec, playerctl play-pause
bind = ,XF86AudioPause, exec, playerctl play-pause
bind = ,XF86AudioNext, exec, playerctl next
bind = ,XF86AudioPrev, exec, playerctl previous
bind = ,XF86MonBrightnessDown,exec,brightnessctl set 5%-
bind = ,XF86MonBrightnessUp,exec,brightnessctl set +5%
''
];
}; };
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

384
config/waybar.nix Normal file
View File

@ -0,0 +1,384 @@
{
pkgs,
config,
lib,
host,
...
}:
let
palette = config.colorScheme.palette;
betterTransition = "all 0.3s cubic-bezier(.55,-0.68,.48,1.682)";
inherit (import ../hosts/${host}/variables.nix) clock24h;
in
with lib;
{
# Configure & Theme Waybar
programs.waybar = {
enable = true;
package = pkgs.waybar;
settings = [
{
layer = "top";
position = "top";
modules-center = [ "hyprland/workspaces" ];
modules-left = [
"custom/startmenu"
"hyprland/window"
"pulseaudio"
"cpu"
"memory"
];
modules-right = [
"custom/hyprbindings"
"custom/exit"
"idle_inhibitor"
"custom/themeselector"
"custom/notification"
"battery"
"clock"
"tray"
];
"hyprland/workspaces" = {
format = "{name}";
format-icons = {
default = " ";
active = " ";
urgent = " ";
};
on-scroll-up = "hyprctl dispatch workspace e+1";
on-scroll-down = "hyprctl dispatch workspace e-1";
};
"clock" = {
format = if clock24h == true then '' {:L%H:%M}'' else '' {:L%I:%M %p}'';
tooltip = true;
tooltip-format = "<big>{:%A, %d.%B %Y }</big><tt><br><small>{calendar}</small></tt>";
};
"hyprland/window" = {
max-length = 25;
separate-outputs = false;
rewrite = {
"" = " 🙈 No Windows? ";
};
};
"memory" = {
interval = 5;
format = " {}%";
tooltip = true;
};
"cpu" = {
interval = 5;
format = " {usage:2}%";
tooltip = true;
};
"disk" = {
format = " {free}";
tooltip = true;
};
"network" = {
format-icons = [
"󰤯"
"󰤟"
"󰤢"
"󰤥"
"󰤨"
];
format-ethernet = " {bandwidthDownOctets}";
format-wifi = "{icon} {signalStrength}%";
format-disconnected = "󰤮";
tooltip = false;
};
"tray" = {
spacing = 12;
};
"pulseaudio" = {
format = "{icon} {volume}% {format_source}";
format-bluetooth = "{volume}% {icon} {format_source}";
format-bluetooth-muted = " {icon} {format_source}";
format-muted = " {format_source}";
format-source = " {volume}%";
format-source-muted = "";
format-icons = {
headphone = "";
hands-free = "";
headset = "";
phone = "";
portable = "";
car = "";
default = [
""
""
""
];
};
on-click = "sleep 0.1 && pavucontrol";
};
"custom/themeselector" = {
tooltip = false;
format = "";
on-click = "sleep 0.1 && theme-selector";
};
"custom/exit" = {
tooltip = false;
format = "";
on-click = "sleep 0.1 && wlogout";
};
"custom/startmenu" = {
tooltip = false;
format = " ";
# exec = "rofi -show drun";
on-click = "sleep 0.1 && rofi-launcher";
};
"custom/hyprbindings" = {
tooltip = false;
format = " Bindings";
on-click = "sleep 0.1 && list-hypr-bindings";
};
"idle_inhibitor" = {
format = "{icon}";
format-icons = {
activated = "";
deactivated = "";
};
tooltip = "true";
};
"custom/notification" = {
tooltip = false;
format = "{icon} {}";
format-icons = {
notification = "<span foreground='red'><sup></sup></span>";
none = "";
dnd-notification = "<span foreground='red'><sup></sup></span>";
dnd-none = "";
inhibited-notification = "<span foreground='red'><sup></sup></span>";
inhibited-none = "";
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
dnd-inhibited-none = "";
};
return-type = "json";
exec-if = "which swaync-client";
exec = "swaync-client -swb";
on-click = "sleep 0.1 && task-waybar";
escape = true;
};
"battery" = {
states = {
warning = 30;
critical = 15;
};
format = "{icon} {capacity}%";
format-charging = "󰂄 {capacity}%";
format-plugged = "󱘖 {capacity}%";
format-icons = [
"󰁺"
"󰁻"
"󰁼"
"󰁽"
"󰁾"
"󰁿"
"󰂀"
"󰂁"
"󰂂"
"󰁹"
];
on-click = "";
tooltip = false;
};
}
];
style = concatStrings [
''
* {
font-size: 16px;
font-family: JetBrainsMono Nerd Font, Font Awesome, sans-serif;
font-weight: bold;
}
window#waybar {
background-color: #${palette.base00};
border-bottom: 1px solid rgba(26,27,38,0);
border-radius: 0px;
color: #${palette.base0F};
}
#workspaces {
background: #${palette.base01};
margin: 2px;
padding: 0px 1px;
border-radius: 15px;
border: 0px;
font-style: normal;
color: #${palette.base00};
}
#workspaces button {
padding: 0px 5px;
margin: 4px 3px;
border-radius: 10px;
border: 0px;
color: #${palette.base00};
background: linear-gradient(45deg, #${palette.base0E}, #${palette.base0F}, #${palette.base0D}, #${palette.base09});
background-size: 300% 300%;
animation: gradient_horizontal 15s ease infinite;
opacity: 0.5;
transition: ${betterTransition};
}
#workspaces button.active {
padding: 0px 5px;
margin: 4px 3px;
border-radius: 10px;
border: 0px;
color: #${palette.base00};
background: linear-gradient(45deg, #${palette.base0E}, #${palette.base0F}, #${palette.base0D}, #${palette.base09});
background-size: 300% 300%;
animation: gradient_horizontal 15s ease infinite;
transition: ${betterTransition};
opacity: 1.0;
min-width: 40px;
}
#workspaces button:hover {
border-radius: 10px;
color: #${palette.base00};
background: linear-gradient(45deg, #${palette.base0E}, #${palette.base0F}, #${palette.base0D}, #${palette.base09});
background-size: 300% 300%;
animation: gradient_horizontal 15s ease infinite;
opacity: 0.8;
transition: ${betterTransition};
}
@keyframes gradient_horizontal {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
@keyframes swiping {
0% {
background-position: 0% 200%;
}
100% {
background-position: 200% 200%;
}
}
tooltip {
background: #${palette.base00};
border: 1px solid #${palette.base0E};
border-radius: 10px;
}
tooltip label {
color: #${palette.base07};
}
#window {
margin: 4px;
padding: 2px 10px;
color: #${palette.base05};
background: #${palette.base01};
border-radius: 10px;
}
#memory {
color: #${palette.base0F};
background: #${palette.base01};
margin: 4px;
padding: 2px 10px;
border-radius: 10px;
}
#clock {
color: #${palette.base01};
background: linear-gradient(45deg, #${palette.base0C}, #${palette.base0F}, #${palette.base0B}, #${palette.base08});
background-size: 300% 300%;
animation: gradient_horizontal 15s ease infinite;
margin: 4px;
padding: 2px 10px;
border-radius: 10px;
}
#cpu {
color: #${palette.base07};
background: #${palette.base01};
margin: 4px;
padding: 2px 10px;
border-radius: 10px;
}
#disk {
color: #${palette.base03};
background: #${palette.base01};
margin: 4px;
padding: 2px 10px;
border-radius: 10px;
}
#battery {
color: #${palette.base08};
background: #${palette.base01};
margin: 4px;
padding: 2px 10px;
border-radius: 10px;
}
#network {
color: #${palette.base09};
background: #${palette.base01};
margin: 4px;
padding: 2px 10px;
border-radius: 10px;
}
#custom-hyprbindings {
color: #${palette.base0E};
background: #${palette.base01};
margin: 4px;
padding: 2px 10px;
border-radius: 10px;
}
#tray {
color: #${palette.base05};
background: #${palette.base01};
margin: 4px;
padding: 2px 10px;
border-radius: 10px;
}
#pulseaudio {
color: #${palette.base0D};
background: #${palette.base01};
margin: 4px;
padding: 2px 10px;
border-radius: 10px;
}
#custom-notification {
color: #${palette.base0C};
background: #${palette.base01};
margin: 4px;
padding: 2px 10px;
border-radius: 10px;
}
#custom-themeselector {
color: #${palette.base0D};
background: #${palette.base01};
margin: 4px 0px;
padding: 2px 10px 2px 5px;
border-radius: 0px 10px 10px 0px;
}
#custom-startmenu {
color: #${palette.base00};
background: linear-gradient(45deg, #${palette.base09}, #${palette.base03}, #${palette.base0C}, #${palette.base07});
background-size: 300% 300%;
animation: gradient_horizontal 15s ease infinite;
margin: 4px;
padding: 2px 10px;
border-radius: 10px;
}
#idle_inhibitor {
color: #${palette.base09};
background: #${palette.base01};
margin: 4px 0px;
padding: 2px 14px;
border-radius: 0px;
}
#custom-exit {
color: #${palette.base0E};
background: #${palette.base01};
border-radius: 10px 0px 0px 10px;
margin: 4px 0px;
padding: 2px 5px 2px 15px;
} ''
];
};
}

View File

@ -14,11 +14,7 @@
}; };
outputs = outputs =
inputs@{ inputs@{ nixpkgs, home-manager, ... }:
nixpkgs,
home-manager,
...
}:
let let
system = "x86_64-linux"; system = "x86_64-linux";
host = "familypc"; host = "familypc";

View File

@ -7,6 +7,9 @@
... ...
}: }:
let
inherit (import ./variables.nix) browser;
in
{ {
imports = [ imports = [
./hardware.nix ./hardware.nix
@ -16,7 +19,9 @@
# Bootloader. # Bootloader.
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
boot.kernel.sysctl = { "vm.max_map_count" = 2147483642; }; boot.kernel.sysctl = {
"vm.max_map_count" = 2147483642;
};
boot.tmp.useTmpfs = false; boot.tmp.useTmpfs = false;
boot.tmp.tmpfsSize = "30%"; boot.tmp.tmpfsSize = "30%";
@ -24,8 +29,7 @@
boot.kernelModules = [ "v4l2loopback" ]; boot.kernelModules = [ "v4l2loopback" ];
boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ]; boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
networking.hostName = "${host}"; # Define your hostname. networking.hostName = "${host}";
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Configure network proxy if necessary # Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/"; # networking.proxy.default = "http://user:password@proxy:port/";
@ -66,7 +70,31 @@
pulse.enable = true; pulse.enable = true;
}; };
programs.firefox.enable = true; programs = {
hyprland = {
enable = true;
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
xwayland.enable = true;
};
firefox.enable = true;
dconf.enable = true;
seahorse.enable = true;
fuse.userAllowOther = true;
mtr.enable = true;
gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
virt-manager.enable = true;
};
# Steam Configuration
programs.steam = {
enable = true;
gamescopeSession.enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
};
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
@ -78,13 +106,74 @@
vim vim
wget wget
git git
cmatrix
lolcat
neofetch
htop
btop
libvirt
lxqt.lxqt-policykit
lm_sensors
unzip
unrar
libnotify
eza
v4l-utils
ydotool
wl-clipboard
socat
cowsay
lsd
lshw
pkg-config
meson
hugo
gnumake
ninja
go
nodejs
symbola
noto-fonts-color-emoji
material-icons
brightnessctl
virt-viewer
swappy
ripgrep
appimage-run
networkmanagerapplet
yad
playerctl
nh
nixfmt
discord
libvirt
swww
grim
slurp
gnome.file-roller
swaynotificationcenter
rofi-wayland
imv
transmission-gtk
mpv
gimp
obs-studio
rustup
audacity
pavucontrol
tree
protonup-qt
font-awesome
spotify
swayidle
neovide
(nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
]; ];
environment.variables = { environment.variables = {
ZANEYOS_VERSION="2.0"; ZANEYOS_VERSION = "2.0";
}; };
# List services that you want to enable: # List services that you want to enable:
# Enable the X11 windowing system. # Enable the X11 windowing system.
services.xserver = { services.xserver = {
@ -103,11 +192,12 @@
nix = { nix = {
settings = { settings = {
auto-optimise-store = true; auto-optimise-store = true;
experimental-features = [ "nix-command" "flakes" ]; experimental-features = [
substituters = ["https://hyprland.cachix.org"]; "nix-command"
trusted-public-keys = [ "flakes"
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
]; ];
substituters = [ "https://hyprland.cachix.org" ];
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
}; };
gc = { gc = {
automatic = true; automatic = true;
@ -116,6 +206,14 @@
}; };
}; };
virtualisation.libvirtd.enable = true;
# OpenGL
hardware.opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
};
# Open ports in the firewall. # Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ]; # networking.firewall.allowedTCPPorts = [ ... ];

View File

@ -36,6 +36,16 @@ in
"Xcursor.size" = 24; "Xcursor.size" = 24;
}; };
# Place Files Inside Home Directory
home.file.".config/wallpapers" = {
source = ../../config/wallpapers;
recursive = true;
};
home.file.".local/share/fonts" = {
source = ../../config/fonts;
recursive = true;
};
# Install & Configure Git # Install & Configure Git
programs.git = { programs.git = {
enable = true; enable = true;
@ -58,38 +68,70 @@ in
}; };
}; };
programs.bash = { programs = {
enable = true; bash = {
enableCompletion = true; enable = true;
profileExtra = '' enableCompletion = true;
#if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then profileExtra = ''
# exec Hyprland #if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then
#fi # exec Hyprland
''; #fi
initExtra = '' '';
neofetch initExtra = ''
if [ -f $HOME/.bashrc-personal ]; then neofetch
source $HOME/.bashrc-personal if [ -f $HOME/.bashrc-personal ]; then
fi source $HOME/.bashrc-personal
''; fi
sessionVariables = { '';
ZANEYOS = true; sessionVariables = {
ZANEYOS = true;
};
shellAliases = {
sv = "sudo nvim";
flake-rebuild = "nh os switch --hostname ${host}";
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 ..";
};
}; };
shellAliases = { home-manager.enable = true;
sv="sudo nvim"; hyprlock = {
flake-rebuild="nh os switch --hostname ${host}"; enable = true;
flake-update="nh os switch --hostname ${host} --update"; settings = {
gcCleanup="nix-collect-garbage --delete-old && sudo nix-collect-garbage -d && sudo /run/current-system/bin/switch-to-configuration boot"; general = {
v="nvim"; disable_loading_bar = true;
ls="lsd"; grace = 300;
ll="lsd -l"; hide_cursor = true;
la="lsd -a"; no_fade_in = false;
lal="lsd -al"; };
".."="cd .."; background = [
neofetch="neofetch --ascii ~/.config/ascii-neofetch"; {
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;
}
];
};
}; };
}; };
programs.home-manager.enable = true;
} }

View File

@ -10,8 +10,10 @@
borderAnim = true; # Enable / Disable Hyprland Border Animation borderAnim = true; # Enable / Disable Hyprland Border Animation
extraMonitorSettings = ""; extraMonitorSettings = "";
# Waybar Settings
clock24h = false;
# Program Options # Program Options
browser = "firefox"; # Set Default Browser browser = "firefox"; # Set Default Browser
terminal = "kitty"; # Set Default System Terminal terminal = "kitty"; # Set Default System Terminal
} }