switched to waybar

This commit is contained in:
2025-07-23 22:16:59 -05:00
parent c4f24c33be
commit 4f7fcad7ad
7 changed files with 311 additions and 73 deletions

123
2 Normal file
View File

@@ -0,0 +1,123 @@
{ config, pkgs, inputs, ... }:
{
# Home Manager needs a bit of information about you and the
# paths it should manage.
home.username = "joshuaelm";
home.homeDirectory = "/home/joshuaelm";
imports = [ ../../modules/nvim ../../modules/stylix.nix ../../modules/hypr/hyprland_desktop.nix ../../modules/ashell/default.nix ../../modules/waybar/waybar.nix ];
home.packages = [
pkgs.element-desktop
pkgs.waybar
pkgs.signal-desktop-bin
pkgs.swaybg
pkgs.gpu-screen-recorder
pkgs.gpu-screen-recorder-gtk
pkgs.supersonic
pkgs.adw-gtk3
];
programs.hyprlock.enable = true;
programs.starship.enable = true;
programs.starship.enableFishIntegration = true;
programs.kitty.enable = true;
programs.cava.enable = true;
programs.btop.enable = true;
programs.rofi.enable = true;
programs.rofi.package = pkgs.rofi-wayland;
services.hyprpaper.enable = true;
wayland.windowManager.hyprland.enable = true;
home.shell.enableFishIntegration = true;
home.file.".icons/default".source = "${pkgs.bibata-cursors}/share/icons/Bibata-Modern-Classic";
services.mpd-mpris.enable = true;
programs.rofi.extraConfig = {
show-icons = true;
drun-display-format = "{icon} {name}";
hide-scrollbar = true;
sidebar-mode = true;
dpi = 110;
font = "FreeSans Regular 12";
icon-theme = "Gruvbox-Plus-Dark";
};
programs.rofi.theme = {
window.height = 600;
window.width = 600;
window.border-radius = 10;
element = {
padding = 5;
border-radius = 10;
};
inputbar.padding = 14;
listview = {
padding = 8;
border-radius = "0 0 10 10";
border = "2 2 2 2";
dynamic = false;
};
"element-text element-icon" = {
size = 40;
margin = "0 10 0 0";
};
mainbox.children = "inputbar, message, listview";
mainbox.spacing = 0;
};
programs.kitty.extraConfig = ''
font_family Fira Code Nerd Font
bold_font auto
italic_font auto
bold_italic_font auto
confirm_os_window_close 0
cursor_shape beam
cursor_trail 3
'';
# This value determines the Home Manager release that your
# configuration is compatible with. This helps avoid breakage
# when a new Home Manager release introduces backwards
# incompatible changes.
#
# You can update Home Manager without changing this value. See
# the Home Manager release notes for a list of state version
# changes in each release.
home.stateVersion = "23.11";
xdg.dataFile = {
"Steam/compatibilitytools.d/SteamTinkerLaunch/compatibilitytool.vdf".text = ''
"compatibilitytools"
{
"compat_tools"
{
"Proton-stl" // Internal name of this tool
{
"install_path" "."
"display_name" "Steam Tinker Launch"
"from_oslist" "windows"
"to_oslist" "linux"
}
}
}
'';
"Steam/compatibilitytools.d/SteamTinkerLaunch/steamtinkerlaunch".source =
config.lib.file.mkOutOfStoreSymlink "${pkgs.steamtinkerlaunch}/bin/steamtinkerlaunch";
"Steam/compatibilitytools.d/SteamTinkerLaunch/toolmanifest.vdf".text = ''
"manifest"
{
"commandline" "/steamtinkerlaunch run"
"commandline_waitforexitandrun" "/steamtinkerlaunch waitforexitandrun"
}
'';
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
}

109
flake.lock generated
View File

@@ -7,11 +7,11 @@
]
},
"locked": {
"lastModified": 1751126708,
"narHash": "sha256-AodIKw7TmI7rHVcOfEsO82stupMYIMVQeLAUQfVxnkU=",
"lastModified": 1752404970,
"narHash": "sha256-XULTToDUkIshNXEO+YP2mAHdQv8bxWDvKjbamBfOC8E=",
"owner": "aylur",
"repo": "astal",
"rev": "ac90f09385a2295da9fdc108aaba4a317aaeacc7",
"rev": "2c5eb54f39e1710c6e2c80915a240978beb3269a",
"type": "github"
},
"original": {
@@ -163,11 +163,11 @@
]
},
"locked": {
"lastModified": 1743550720,
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
"lastModified": 1751413152,
"narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
"rev": "77826244401ea9de6e3bac47c2db46005e1f30b5",
"type": "github"
},
"original": {
@@ -234,11 +234,11 @@
]
},
"locked": {
"lastModified": 1751824240,
"narHash": "sha256-aDDC0CHTlL7QDKWWhdbEgVPK6KwWt+ca0QkmHYZxMzI=",
"lastModified": 1752814804,
"narHash": "sha256-irfg7lnfEpJY+3Cffkluzp2MTVw1Uq9QGxFp6qadcXI=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "fd9e55f5fac45a26f6169310afca64d56b681935",
"rev": "d0300c8808e41da81d6edfc202f3d3833c157daf",
"type": "github"
},
"original": {
@@ -255,11 +255,11 @@
]
},
"locked": {
"lastModified": 1743604125,
"narHash": "sha256-ZD61DNbsBt1mQbinAaaEqKaJk2RFo9R/j+eYWeGMx7A=",
"lastModified": 1752603129,
"narHash": "sha256-S+wmHhwNQ5Ru689L2Gu8n1OD6s9eU9n9mD827JNR+kw=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "180fd43eea296e62ae68e079fcf56aba268b9a1a",
"rev": "e8c19a3cec2814c754f031ab3ae7316b64da085b",
"type": "github"
},
"original": {
@@ -298,11 +298,11 @@
},
"master": {
"locked": {
"lastModified": 1751914753,
"narHash": "sha256-46zytRNdtF3SpFI/bh+AYR6stQCk7Ad79egf79uG/uI=",
"lastModified": 1752942963,
"narHash": "sha256-DAL+SEKV/jrvbwEcQabUwR+YTx7V09Gbf0zLJIfD4oc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e69f17b2fda2842ad65707ce3d3c65d62218dcd4",
"rev": "19331827f62c85e29ac14da62a5c26828f138517",
"type": "github"
},
"original": {
@@ -358,11 +358,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1751792365,
"narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=",
"lastModified": 1752687322,
"narHash": "sha256-RKwfXA4OZROjBTQAl9WOZQFm7L8Bo93FQwSJpAiSRvo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb",
"rev": "6e987485eb2c77e5dcc5af4e3c70843711ef9251",
"type": "github"
},
"original": {
@@ -389,11 +389,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1743448293,
"narHash": "sha256-bmEPmSjJakAp/JojZRrUvNcDX2R5/nuX6bm+seVaGhs=",
"lastModified": 1752480373,
"narHash": "sha256-JHQbm+OcGp32wAsXTE/FLYGNpb+4GLi5oTvCxwSoBOA=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "77b584d61ff80b4cef9245829a6f1dfad5afdfa3",
"rev": "62e0f05ede1da0d54515d4ea8ce9c733f12d9f08",
"type": "github"
},
"original": {
@@ -413,11 +413,11 @@
"systems": "systems_2"
},
"locked": {
"lastModified": 1751904655,
"narHash": "sha256-lHAj9Xh/vBf3cXns1wN5HPw/zwGTO/Uv/ttloBok1n4=",
"lastModified": 1752762787,
"narHash": "sha256-WZLSOR2Pei7C4nH/ntKUqOZOAa5rgvc2fVZl4RoEXmw=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "bc997a240953bda9fa526e8a3d6f798a6072308a",
"rev": "bc0555c8694d43fb63ae2c7afec08b6987431a04",
"type": "github"
},
"original": {
@@ -435,15 +435,14 @@
"nixpkgs": [
"stylix",
"nixpkgs"
],
"treefmt-nix": "treefmt-nix"
]
},
"locked": {
"lastModified": 1748730660,
"narHash": "sha256-5LKmRYKdPuhm8j5GFe3AfrJL8dd8o57BQ34AGjJl1R0=",
"lastModified": 1751906969,
"narHash": "sha256-BSQAOdPnzdpOuCdAGSJmefSDlqmStFNScEnrWzSqKPw=",
"owner": "nix-community",
"repo": "NUR",
"rev": "2c0bc52fe14681e9ef60e3553888c4f086e46ecb",
"rev": "ddb679f4131e819efe3bbc6457ba19d7ad116f25",
"type": "github"
},
"original": {
@@ -530,11 +529,11 @@
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1751914048,
"narHash": "sha256-xHO3xlw35tCC0f3pN3osPNjgwwwAgusTuZk5iC8oDiE=",
"lastModified": 1752750082,
"narHash": "sha256-NoVAqy+Wj4tgkvrYB8zWncl8Z6Hb80aX3t/TYGdsfaM=",
"owner": "danth",
"repo": "stylix",
"rev": "bf0ef81c8fcc30c32db9dab32d379f8d9db835e4",
"rev": "03699ed214f6e8195bc7199d6ae3aeccf9732b08",
"type": "github"
},
"original": {
@@ -624,11 +623,11 @@
"tinted-schemes": {
"flake": false,
"locked": {
"lastModified": 1748180480,
"narHash": "sha256-7n0XiZiEHl2zRhDwZd/g+p38xwEoWtT0/aESwTMXWG4=",
"lastModified": 1750770351,
"narHash": "sha256-LI+BnRoFNRa2ffbe3dcuIRYAUcGklBx0+EcFxlHj0SY=",
"owner": "tinted-theming",
"repo": "schemes",
"rev": "87d652edd26f5c0c99deda5ae13dfb8ece2ffe31",
"rev": "5a775c6ffd6e6125947b393872cde95867d85a2a",
"type": "github"
},
"original": {
@@ -640,11 +639,11 @@
"tinted-tmux": {
"flake": false,
"locked": {
"lastModified": 1748740859,
"narHash": "sha256-OEM12bg7F4N5WjZOcV7FHJbqRI6jtCqL6u8FtPrlZz4=",
"lastModified": 1751159871,
"narHash": "sha256-UOHBN1fgHIEzvPmdNMHaDvdRMgLmEJh2hNmDrp3d3LE=",
"owner": "tinted-theming",
"repo": "tinted-tmux",
"rev": "57d5f9683ff9a3b590643beeaf0364da819aedda",
"rev": "bded5e24407cec9d01bd47a317d15b9223a1546c",
"type": "github"
},
"original": {
@@ -656,11 +655,11 @@
"tinted-zed": {
"flake": false,
"locked": {
"lastModified": 1725758778,
"narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=",
"lastModified": 1751158968,
"narHash": "sha256-ksOyv7D3SRRtebpXxgpG4TK8gZSKFc4TIZpR+C98jX8=",
"owner": "tinted-theming",
"repo": "base16-zed",
"rev": "122c9e5c0e6f27211361a04fae92df97940eccf9",
"rev": "86a470d94204f7652b906ab0d378e4231a5b3384",
"type": "github"
},
"original": {
@@ -669,39 +668,17 @@
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"stylix",
"nur",
"nixpkgs"
]
},
"locked": {
"lastModified": 1733222881,
"narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "49717b5af6f80172275d47a418c9719a31a78b53",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},
"zen-browser": {
"inputs": {
"home-manager": "home-manager_2",
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1751858709,
"narHash": "sha256-xghd1GDPRSa6aD6tEk2JCuQDZWdHITlCA/stwSVoZJQ=",
"lastModified": 1752809889,
"narHash": "sha256-oTIVrw7Cy2McAVqE7GCot5Fb8Wh4JBsUDKMX8u3DFlU=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "216dd333fa41aa013bf8aab9322d7c1a2aee5b4a",
"rev": "f19d2b6b18d4a2e8bf2d6a9f69c934d6726360c4",
"type": "github"
},
"original": {

View File

@@ -69,6 +69,7 @@ boot = {
networking.networkmanager.enable = true;
hardware.bluetooth.enable = true;
hardware.bluetooth.package = pkgs.bluez;
@@ -110,6 +111,7 @@ boot = {
autoLogin.user = "joshuaelm";
};*/
security.pam.services.hyprlock = {};
programs.noisetorch.enable = true;
services.greetd = {
enable = true;
@@ -165,7 +167,7 @@ boot = {
# no need to redefine it in your config for now)
#media-session.enable = true;
};
hardware.pulseaudio.configFile = pkgs.runCommand "default.pa" {} ''
services.pulseaudio.configFile = pkgs.runCommand "default.pa" {} ''
sed 's/module-udev-detect$/module-udev-detect tsched=0/' \
${pkgs.pulseaudio}/etc/pulse/default.pa > $out
'';
@@ -209,11 +211,14 @@ hardware.pulseaudio.extraConfig = ''
isNormalUser = true;
description = "Joshua Elmasri";
extraGroups = [ "networkmanager" "wheel" "adbusers" ];
shell = pkgs.fish;
packages = with pkgs; [
# thunderbird
];
};
programs.fish.enable = true;
nix.optimise.automatic = true;
# Allow unfree packages

View File

@@ -6,7 +6,7 @@
home.username = "joshuaelm";
home.homeDirectory = "/home/joshuaelm";
imports = [ ../../modules/nvim ../../modules/stylix.nix ../../modules/hypr/hyprland_desktop.nix ../../modules/ashell/default.nix ];
imports = [ ../../modules/nvim ../../modules/stylix.nix ../../modules/hypr/hyprland_desktop.nix ../../modules/ashell/default.nix ../../modules/waybar/waybar.nix ];
home.packages = [
@@ -21,6 +21,8 @@
];
programs.hyprlock.enable = true;
programs.starship.enable = true;
programs.starship.enableFishIntegration = true;
programs.kitty.enable = true;
programs.cava.enable = true;
programs.btop.enable = true;
@@ -28,6 +30,7 @@
programs.rofi.package = pkgs.rofi-wayland;
services.hyprpaper.enable = true;
wayland.windowManager.hyprland.enable = true;
home.shell.enableFishIntegration = true;
home.file.".icons/default".source = "${pkgs.bibata-cursors}/share/icons/Bibata-Modern-Classic";

View File

@@ -6,16 +6,16 @@
# See https://wiki.hyprland.org/Configuring/Monitors/
#monitor = HDMI-A-1, 3840x2160@60, 0x0, 1.5
monitor = HDMI-A-1, disable
monitor = HDMI-A-1, 3840x2160@60, 0x0, 1
#monitor = HDMI-A-1, disable
#monitor = sunshine, highres@highrr, 0x0, 1
monitor = DP-1, highres@highrr, 0x0, 1
#monitor = DP-1, highres@highrr, 0x0, 1, bitdepth, 10, cm, hdr, sdrsaturation, 1, sdrbrightness, 1
exec-once = hyprctl dispatch workspace 1
#exec-once = linux-wallpaperengine --screen-root HDMI-A-1 --silent --fps 60 3000562427
exec-once = hyprlock
# exec-once = waybar
exec-once = ashell
exec-once = waybar
# exec-once = ashell
exec-once = systemctl --user start hyprpolkitagent
exec-once = sunshine
# See https://wiki.hyprland.org/Configuring/Keywords/ for more

View File

@@ -6,8 +6,20 @@
stylix.targets.kitty.enable = true;
stylix.targets.hyprpaper.enable = true;
stylix.base16Scheme = "${pkgs.base16-schemes}/share/themes/tokyo-night-dark.yaml";
stylix.image = pkgs.fetchurl {
# blue aura house
/* stylix.image = pkgs.fetchurl {
url = "https://w.wallhaven.cc/full/1p/wallhaven-1py8lw.jpg";
hash = "sha256-smJTuprm8PVKWv56hfv9UMzDXkHm3R7O1ALaNpNYy3E=";
};*/
# coastal town
/*stylix.image = pkgs.fetchurl {
url = "https://w.wallhaven.cc/full/ex/wallhaven-ex8vml.jpg";
hash = "sha256-SNsauGNVU7p+FfZPJ97GQDz5roRfy82WbAuLmLl7iVs=";
};*/
stylix.image = pkgs.fetchurl {
url = "https://w.wallhaven.cc/full/5g/wallhaven-5g22q5.png";
hash = "sha256-snqkeQecU0opsBfIrnkl6aiV71hSCmqnZBAsibNG4w8=";
};
}

118
modules/waybar/waybar.nix Normal file
View File

@@ -0,0 +1,118 @@
{pkgs, lib,...}:
{
programs.waybar.enable = true;
programs.waybar.settings = [
{
layer = "top";
position = "top";
margin = "5, 5, 5, 5";
modules-left = [ "hyprland/workspaces"];
modules-center = [ "mpris" ];
modules-right = [ "cava" "clock" "network" "pulseaudio/slider" "tray" ];
cava = {
bars = 14;
bar_delimiter = 0;
format-icons = ["" "" "" "" "" "" "" ""];
};
network = {
format = "󱎔";
format-disconnected = "";
format-wifi = "({signalStrength}%) ";
};
mpris = {
format = "{dynamic}";
dynamic-order = ["title" "album" "artist" "position" "length"];
};
tray = {
spacing = 2;
};
"hyprland/workspaces" = {
active-only = false;
format = "{icon}";
format-icons = {
active = "";
default = "";
};
};
}
];
programs.waybar.style = lib.mkAfter ''
* {
font-family: "Roboto";
font-size: 17px;
border-radius: 10px;
}
window#waybar {
margin: 0 4px;
}
#network {
padding-left: 4px;
padding-right: 2px;
}
#tray {
margin-right: 5px;
margin-left: 5px;
}
#cava {
margin-left: 5px;
}
#mpris {
padding: 0 5px;
margin-left: 5px;
margin-right: 5px;
}
.modules-left {
background: @base02;
box-shadow: 0px 0px 5px 0px #101010;
}
.modules-center {
background: @base02;
box-shadow: 0px 0px 5px 0px #101010;
}
.modules-right {
background: @base02;
box-shadow: 0px 0px 5px 0px #101010;
}
window > box {
background-color: transparent;
margin-top: 5px;
margin-bottom: 5px;
margin-left: 5px;
margin-right: 5px;
}
#pulseaudio-slider slider {
min-height: 0px;
min-width: 0px;
}
#pulseaudio-slider trough {
min-width: 60px;
border-radius: 10px;
background-color: @base0D
}
#pulseaudio-slider highlight {
background-color: @base0C;
}
'';
}