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

View File

@ -7,6 +7,9 @@
...
}:
let
inherit (import ./variables.nix) browser;
in
{
imports = [
./hardware.nix
@ -16,7 +19,9 @@
# Bootloader.
boot.loader.systemd-boot.enable = 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.tmpfsSize = "30%";
@ -24,8 +29,7 @@
boot.kernelModules = [ "v4l2loopback" ];
boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
networking.hostName = "${host}"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
networking.hostName = "${host}";
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
@ -66,7 +70,31 @@
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;
@ -78,13 +106,74 @@
vim
wget
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 = {
ZANEYOS_VERSION="2.0";
ZANEYOS_VERSION = "2.0";
};
# List services that you want to enable:
# Enable the X11 windowing system.
services.xserver = {
@ -103,11 +192,12 @@
nix = {
settings = {
auto-optimise-store = true;
experimental-features = [ "nix-command" "flakes" ];
substituters = ["https://hyprland.cachix.org"];
trusted-public-keys = [
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
experimental-features = [
"nix-command"
"flakes"
];
substituters = [ "https://hyprland.cachix.org" ];
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
};
gc = {
automatic = true;
@ -116,6 +206,14 @@
};
};
virtualisation.libvirtd.enable = true;
# OpenGL
hardware.opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
};
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];

View File

@ -36,6 +36,16 @@ in
"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
programs.git = {
enable = true;
@ -58,38 +68,70 @@ in
};
};
programs.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;
programs = {
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}";
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 = {
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 ..";
neofetch="neofetch --ascii ~/.config/ascii-neofetch";
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;
}
];
};
};
};
programs.home-manager.enable = true;
}

View File

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