More hyprland setup, add waybar
This commit is contained in:
parent
a0fe904d6c
commit
084100c557
@ -74,6 +74,7 @@
|
||||
## My scripts
|
||||
pkgs.frajul.deploy-to-pianopi
|
||||
pkgs.frajul.edit-config
|
||||
pkgs.frajul.open-messaging
|
||||
]
|
||||
++ lib.lists.concatMap (packages-list-file: import packages-list-file { inherit pkgs; }) [
|
||||
./fonts.nix
|
||||
|
@ -37,11 +37,59 @@ in
|
||||
home.packages = with pkgs; [
|
||||
wofi
|
||||
xfce.thunar
|
||||
wlogout
|
||||
waybar
|
||||
hyprlock
|
||||
hyprpicker
|
||||
hyprcursor
|
||||
];
|
||||
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
style = builtins.readFile ./style-dracula.css;
|
||||
settings = {
|
||||
mainBar = {
|
||||
layer = "top";
|
||||
position = "bottom";
|
||||
height = 30;
|
||||
output = [
|
||||
"eDP-1"
|
||||
"HDMI-A-1"
|
||||
];
|
||||
modules-left = [
|
||||
"hyprland/workspaces"
|
||||
"hyprland/submap"
|
||||
];
|
||||
modules-center = [ "hyprland/window" ];
|
||||
modules-right = [
|
||||
# "mpd"
|
||||
# "idle_inhibitor"
|
||||
"pulseaudio"
|
||||
# "network"
|
||||
"power-profiles-daemon"
|
||||
"cpu"
|
||||
"memory"
|
||||
# "temperature"
|
||||
# "backlight"
|
||||
# "keyboard-state"
|
||||
"battery"
|
||||
# "battery#bat2"
|
||||
"clock"
|
||||
"tray"
|
||||
];
|
||||
|
||||
# "sway/workspaces" = {
|
||||
# disable-scroll = true;
|
||||
# all-outputs = true;
|
||||
# };
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.wlogout.enable = true; # can be configured
|
||||
# services.hypridle.enable = true; # can be configured
|
||||
|
||||
services.network-manager-applet.enable = true;
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
# Whether to enable Hyprland wayland compositor
|
||||
enable = true;
|
||||
@ -62,10 +110,8 @@ in
|
||||
|
||||
# Autostart
|
||||
exec-once = [
|
||||
"nm-applet"
|
||||
"waybar"
|
||||
# "nm-applet"
|
||||
"firefox"
|
||||
"hyprlock"
|
||||
];
|
||||
|
||||
# Environment Variables
|
||||
@ -121,7 +167,14 @@ in
|
||||
};
|
||||
|
||||
# Window rules
|
||||
windowrulev2 = "suppressevent maximize, class:.*"; # You'll probably like this.
|
||||
windowrulev2 = [
|
||||
"suppressevent maximize, class:.*"
|
||||
"workspace 1, class:firefox"
|
||||
"workspace 9, class:nheko"
|
||||
"workspace 9, class:org.telegram.desktop"
|
||||
"workspace 10, class:thunderbird"
|
||||
"float, class:qalculate-gtk"
|
||||
];
|
||||
|
||||
# Workspace rules
|
||||
workspace = [
|
||||
@ -158,6 +211,7 @@ in
|
||||
"$mod, E, exec, thunar"
|
||||
"$mod, Return, exec, alacritty"
|
||||
"$mod, B, exec, firefox"
|
||||
"$mod, C, exec, qalculate-gtk"
|
||||
|
||||
# other commands
|
||||
"$mod, Escape, exec, wlogout -p layer-shell"
|
||||
|
265
modules/home/hyprland/style-dracula.css
Normal file
265
modules/home/hyprland/style-dracula.css
Normal file
@ -0,0 +1,265 @@
|
||||
/* Keyframes */
|
||||
|
||||
@keyframes blink-critical {
|
||||
to {
|
||||
/*color: @white;*/
|
||||
background-color: @critical;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Styles */
|
||||
|
||||
/* Colors (gruvbox) */
|
||||
@define-color black #282828;
|
||||
@define-color red #cc241d;
|
||||
@define-color green #98971a;
|
||||
@define-color yellow #d79921;
|
||||
@define-color blue #458588;
|
||||
@define-color purple #b16286;
|
||||
@define-color aqua #689d6a;
|
||||
@define-color gray #a89984;
|
||||
@define-color brgray #928374;
|
||||
@define-color brred #fb4934;
|
||||
@define-color brgreen #b8bb26;
|
||||
@define-color bryellow #fabd2f;
|
||||
@define-color brblue #83a598;
|
||||
@define-color brpurple #d3869b;
|
||||
@define-color braqua #8ec07c;
|
||||
@define-color white #ebdbb2;
|
||||
@define-color bg2 #504945;
|
||||
|
||||
|
||||
@define-color warning @bryellow;
|
||||
@define-color critical @red;
|
||||
@define-color mode @black;
|
||||
@define-color unfocused @bg2;
|
||||
@define-color focused @braqua;
|
||||
@define-color inactive @purple;
|
||||
@define-color sound @brpurple;
|
||||
@define-color network @purple;
|
||||
@define-color memory @braqua;
|
||||
@define-color cpu @green;
|
||||
@define-color temp @brgreen;
|
||||
@define-color layout @bryellow;
|
||||
@define-color battery @aqua;
|
||||
@define-color date @black;
|
||||
@define-color time @white;
|
||||
|
||||
/* Reset all styles */
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
min-height: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
icon-shadow: none;
|
||||
}
|
||||
|
||||
/* The whole bar */
|
||||
#waybar {
|
||||
background: rgba(40, 40, 40, 0.8784313725); /* #282828e0 */
|
||||
color: @white;
|
||||
font-family: JetBrains Mono, Siji;
|
||||
font-size: 10pt;
|
||||
/*font-weight: bold;*/
|
||||
}
|
||||
|
||||
/* Each module */
|
||||
#battery,
|
||||
#clock,
|
||||
#cpu,
|
||||
#language,
|
||||
#memory,
|
||||
#mode,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#temperature,
|
||||
#tray,
|
||||
#backlight,
|
||||
#idle_inhibitor,
|
||||
#disk,
|
||||
#user,
|
||||
#mpris {
|
||||
padding-left: 8pt;
|
||||
padding-right: 8pt;
|
||||
}
|
||||
|
||||
/* Each critical module */
|
||||
#mode,
|
||||
#memory.critical,
|
||||
#cpu.critical,
|
||||
#temperature.critical,
|
||||
#battery.critical.discharging {
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
animation-name: blink-critical;
|
||||
animation-duration: 1s;
|
||||
}
|
||||
|
||||
/* Each warning */
|
||||
#network.disconnected,
|
||||
#memory.warning,
|
||||
#cpu.warning,
|
||||
#temperature.warning,
|
||||
#battery.warning.discharging {
|
||||
color: @warning;
|
||||
}
|
||||
|
||||
/* And now modules themselves in their respective order */
|
||||
|
||||
/* Current sway mode (resize etc) */
|
||||
#mode {
|
||||
color: @white;
|
||||
background: @mode;
|
||||
}
|
||||
|
||||
/* Workspaces stuff */
|
||||
#workspaces button {
|
||||
/*font-weight: bold;*/
|
||||
padding-left: 2pt;
|
||||
padding-right: 2pt;
|
||||
color: @white;
|
||||
background: @unfocused;
|
||||
}
|
||||
|
||||
/* Inactive (on unfocused output) */
|
||||
#workspaces button.visible {
|
||||
color: @white;
|
||||
background: @inactive;
|
||||
}
|
||||
|
||||
/* Active (on focused output) */
|
||||
#workspaces button.focused {
|
||||
color: @black;
|
||||
background: @focused;
|
||||
}
|
||||
|
||||
/* Contains an urgent window */
|
||||
#workspaces button.urgent {
|
||||
color: @black;
|
||||
background: @warning;
|
||||
}
|
||||
|
||||
/* Style when cursor is on the button */
|
||||
#workspaces button:hover {
|
||||
background: @black;
|
||||
color: @white;
|
||||
}
|
||||
|
||||
#window {
|
||||
margin-right: 35pt;
|
||||
margin-left: 35pt;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
background: @sound;
|
||||
color: @black;
|
||||
}
|
||||
|
||||
#network {
|
||||
background: @network;
|
||||
color: @white;
|
||||
}
|
||||
|
||||
#memory {
|
||||
background: @memory;
|
||||
color: @black;
|
||||
}
|
||||
|
||||
#cpu {
|
||||
background: @cpu;
|
||||
color: @white;
|
||||
}
|
||||
|
||||
#temperature {
|
||||
background: @temp;
|
||||
color: @black;
|
||||
}
|
||||
|
||||
#language {
|
||||
background: @layout;
|
||||
color: @black;
|
||||
}
|
||||
|
||||
#battery {
|
||||
background: @battery;
|
||||
color: @white;
|
||||
}
|
||||
|
||||
#tray {
|
||||
background: @date;
|
||||
}
|
||||
|
||||
#clock.date {
|
||||
background: @date;
|
||||
color: @white;
|
||||
}
|
||||
|
||||
#clock.time {
|
||||
background: @time;
|
||||
color: @black;
|
||||
}
|
||||
|
||||
#custom-arrow1 {
|
||||
font-size: 11pt;
|
||||
color: @time;
|
||||
background: @date;
|
||||
}
|
||||
|
||||
#custom-arrow2 {
|
||||
font-size: 11pt;
|
||||
color: @date;
|
||||
background: @layout;
|
||||
}
|
||||
|
||||
#custom-arrow3 {
|
||||
font-size: 11pt;
|
||||
color: @layout;
|
||||
background: @battery;
|
||||
}
|
||||
|
||||
#custom-arrow4 {
|
||||
font-size: 11pt;
|
||||
color: @battery;
|
||||
background: @temp;
|
||||
}
|
||||
|
||||
#custom-arrow5 {
|
||||
font-size: 11pt;
|
||||
color: @temp;
|
||||
background: @cpu;
|
||||
}
|
||||
|
||||
#custom-arrow6 {
|
||||
font-size: 11pt;
|
||||
color: @cpu;
|
||||
background: @memory;
|
||||
}
|
||||
|
||||
#custom-arrow7 {
|
||||
font-size: 11pt;
|
||||
color: @memory;
|
||||
background: @network;
|
||||
}
|
||||
|
||||
#custom-arrow8 {
|
||||
font-size: 11pt;
|
||||
color: @network;
|
||||
background: @sound;
|
||||
}
|
||||
|
||||
#custom-arrow9 {
|
||||
font-size: 11pt;
|
||||
color: @sound;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
#custom-arrow10 {
|
||||
font-size: 11pt;
|
||||
color: @unfocused;
|
||||
background: transparent;
|
||||
}
|
31
packages/open-messaging/default.nix
Normal file
31
packages/open-messaging/default.nix
Normal file
@ -0,0 +1,31 @@
|
||||
{
|
||||
# Snowfall Lib provides a customized `lib` instance with access to your flake's library
|
||||
# as well as the libraries available from your flake's inputs.
|
||||
lib,
|
||||
# You also have access to your flake's inputs.
|
||||
inputs,
|
||||
|
||||
# All other arguments come from NixPkgs. You can use `pkgs` to pull packages or helpers
|
||||
# programmatically or you may add the named attributes as arguments here.
|
||||
pkgs,
|
||||
stdenv,
|
||||
...
|
||||
}:
|
||||
|
||||
pkgs.writeShellApplication {
|
||||
name = "open-messaging";
|
||||
|
||||
runtimeInputs = with pkgs; [
|
||||
nheko
|
||||
telegram-desktop
|
||||
thunderbird
|
||||
];
|
||||
|
||||
text = ''
|
||||
nheko &
|
||||
sleep 0.1
|
||||
telegram-desktop &
|
||||
sleep 0.1
|
||||
thunderbird &
|
||||
'';
|
||||
}
|
@ -104,7 +104,7 @@
|
||||
|
||||
# Enable the XFCE Desktop Environment.
|
||||
services.xserver.displayManager.gdm.enable = true;
|
||||
# services.displayManager.sddm.wayland.enable = true;
|
||||
# services.displayManager.sddm.wayland.enable = true;
|
||||
# services.xserver.desktopManager = {
|
||||
# xterm.enable = false;
|
||||
# xfce = {
|
||||
@ -135,6 +135,8 @@
|
||||
hardware.pulseaudio.enable = false;
|
||||
security.polkit.enable = true;
|
||||
|
||||
security.pam.services.hyprlock = { };
|
||||
|
||||
# Sound
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
|
Loading…
x
Reference in New Issue
Block a user