initial
This commit is contained in:
12
helix/config.toml
Normal file
12
helix/config.toml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
theme = "darcula-solid"
|
||||||
|
|
||||||
|
[editor]
|
||||||
|
line-number = "relative"
|
||||||
|
|
||||||
|
[editor.statusline]
|
||||||
|
mode.normal = "NORMAL"
|
||||||
|
mode.insert = "INSERT"
|
||||||
|
mode.select = "SELECT"
|
||||||
|
|
||||||
|
[keys.insert]
|
||||||
|
C-space = "completion"
|
||||||
12
helix/languages.toml
Normal file
12
helix/languages.toml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
|
||||||
|
# Svelte
|
||||||
|
[language-server.svelte]
|
||||||
|
command = "svelteserver"
|
||||||
|
|
||||||
|
[[language]]
|
||||||
|
name = "svelte"
|
||||||
|
language-servers = ["svelte"]
|
||||||
|
language-id = "source.svelte"
|
||||||
|
file-types = ["svelte", "svelte.ts", "svelte.js"]
|
||||||
|
roots = ["package.json"]
|
||||||
|
|
||||||
55
nix/fish.nix
Normal file
55
nix/fish.nix
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
# ./modules/users/psljr/fish.nix
|
||||||
|
# Configure fish for user psljr
|
||||||
|
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home-manager.users.psljr = { pkgs, ... }: {
|
||||||
|
programs.fish = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
functions = {
|
||||||
|
fish_prompt = {
|
||||||
|
body = ''
|
||||||
|
set -l last_pipestatus $pipestatus
|
||||||
|
set -lx __fish_last_status $status # Export for __fish_print_pipestatus.
|
||||||
|
set -l normal (set_color normal)
|
||||||
|
set -q fish_color_status
|
||||||
|
or set -g fish_color_status red
|
||||||
|
|
||||||
|
# Color the prompt differently when we're root
|
||||||
|
set -l color_cwd $fish_color_cwd
|
||||||
|
set -l suffix '>'
|
||||||
|
if functions -q fish_is_root_user; and fish_is_root_user
|
||||||
|
if set -q fish_color_cwd_root
|
||||||
|
set color_cwd $fish_color_cwd_root
|
||||||
|
end
|
||||||
|
set suffix '#'
|
||||||
|
end
|
||||||
|
|
||||||
|
# Change the prompt when inside a nix-shell
|
||||||
|
set -l nix_shell_info (
|
||||||
|
if test -n "$IN_NIX_SHELL"
|
||||||
|
echo -n "<nix-shell> "
|
||||||
|
end
|
||||||
|
)
|
||||||
|
|
||||||
|
# Write pipestatus
|
||||||
|
# If the status was carried over (if no command is issued or if `set` leaves the status untouched), don't bold it.
|
||||||
|
set -l bold_flag --bold
|
||||||
|
set -q __fish_prompt_status_generation; or set -g __fish_prompt_status_generation $status_generation
|
||||||
|
if test $__fish_prompt_status_generation = $status_generation
|
||||||
|
set bold_flag
|
||||||
|
end
|
||||||
|
set __fish_prompt_status_generation $status_generation
|
||||||
|
set -l status_color (set_color $fish_color_status)
|
||||||
|
set -l statusb_color (set_color $bold_flag $fish_color_status)
|
||||||
|
set -l prompt_status (__fish_print_pipestatus "[" "]" "|" "$status_color" "$statusb_color" $last_pipestatus)
|
||||||
|
|
||||||
|
echo -n -s ' ' (prompt_login)' ' (set_color -o ff9955) $nix_shell_info (set_color $color_cwd) (prompt_pwd) $normal (fish_vcs_prompt) $normal " " $prompt_status $suffix " "
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
18
nix/git.nix
Normal file
18
nix/git.nix
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# ./modules/users/psljr/git.fish
|
||||||
|
# Configure git for user psljr
|
||||||
|
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home-manager.users.psljr = { pkgs, ... }: {
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
userName = "Paul Lopez";
|
||||||
|
userEmail = "psljr@protonmail.com";
|
||||||
|
extraConfig = {
|
||||||
|
init.defaultBranch = "main";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
111
nix/home.nix
Normal file
111
nix/home.nix
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
# ./modules/users/psljr/home.nix
|
||||||
|
# Configure the home environment for user psljr
|
||||||
|
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./fish.nix
|
||||||
|
./git.nix
|
||||||
|
./hyprland.nix
|
||||||
|
./hyprlock.nix
|
||||||
|
./kitty.nix
|
||||||
|
./rofi.nix
|
||||||
|
./waybar.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
# Configure users with home-manager
|
||||||
|
home-manager.users.psljr = { pkgs, ... }: {
|
||||||
|
# Declare home state version. This should match the version of the NixOS configuration, and should not change
|
||||||
|
home.stateVersion = "25.05";
|
||||||
|
|
||||||
|
# Allow unfree packages
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
# Accept the EULA for Android Studio
|
||||||
|
nixpkgs.config.android_sdk.accept_license = true;
|
||||||
|
|
||||||
|
# Define session variables for terminal use
|
||||||
|
home.sessionVariables = {
|
||||||
|
NIX="/etc/nixos";
|
||||||
|
NIX_MODS="/etc/nixos/modules";
|
||||||
|
NIX_USERS="/etc/nixos/modules/users";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Allow home-manager to manage fonts
|
||||||
|
fonts.fontconfig.enable = true;
|
||||||
|
|
||||||
|
# Declare packages to be installed on the user profile
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
discord
|
||||||
|
chromium
|
||||||
|
gparted
|
||||||
|
helix
|
||||||
|
htop
|
||||||
|
jetbrains-mono
|
||||||
|
kitty
|
||||||
|
nerd-fonts.space-mono
|
||||||
|
signal-desktop
|
||||||
|
|
||||||
|
# Web
|
||||||
|
jetbrains.webstorm
|
||||||
|
nodejs_22
|
||||||
|
|
||||||
|
# Rust
|
||||||
|
rustc
|
||||||
|
rustup
|
||||||
|
jetbrains.rust-rover
|
||||||
|
|
||||||
|
# C
|
||||||
|
gcc
|
||||||
|
glibc
|
||||||
|
|
||||||
|
# LSP
|
||||||
|
svelte-language-server
|
||||||
|
typescript-language-server
|
||||||
|
];
|
||||||
|
|
||||||
|
# Configure services
|
||||||
|
services = {
|
||||||
|
# hyprpaper, the wallpaper manager
|
||||||
|
hyprpaper = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
preload = [
|
||||||
|
"/etc/nixos/modules/users/psljr/theme/wallpaper.jpg"
|
||||||
|
];
|
||||||
|
|
||||||
|
wallpaper = ", /etc/nixos/modules/users/psljr/theme/wallpaper.jpg";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# hypridle, the idle daemon
|
||||||
|
hypridle = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
general = {
|
||||||
|
lock_cmd = "pidof hyprlock || hyprlock";
|
||||||
|
};
|
||||||
|
|
||||||
|
listener = [
|
||||||
|
{
|
||||||
|
on-resume = "brightnessctl -r";
|
||||||
|
on-timeout = "brightnessctl -s set 10";
|
||||||
|
timeout = 240;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
timeout = 900;
|
||||||
|
on-timeout = "loginctl lock-session";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# hyprpolkitagent, the policykit agent
|
||||||
|
hyprpolkitagent = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
1
nix/hyperlock.nix
Normal file
1
nix/hyperlock.nix
Normal file
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
146
nix/hyprland.nix
Normal file
146
nix/hyprland.nix
Normal file
@@ -0,0 +1,146 @@
|
|||||||
|
# ./modules/users/psljr/hyprland.nix
|
||||||
|
# Configure hyprland for user psljr
|
||||||
|
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home-manager.users.psljr = { pkgs, ... }: {
|
||||||
|
# Configure hyprland
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
|
||||||
|
# Define variables
|
||||||
|
"$mod" = "SUPER";
|
||||||
|
"$primary_100" = "rgba(FF9955EE)";
|
||||||
|
"$primary_200" = "rgba(EF7679EE)";
|
||||||
|
"$primary_300" = "rgba(C26793EE)";
|
||||||
|
"$primary_400" = "rgba(846294EE)";
|
||||||
|
"$primary_500" = "rgba(4C587DEE)";
|
||||||
|
"$primary_600" = "rgba(2F4858EE)";
|
||||||
|
|
||||||
|
# Define auto-run applications
|
||||||
|
exec-once=[
|
||||||
|
"dunst" # Notification daemon
|
||||||
|
"hypridle" # Idle daemon
|
||||||
|
"hyprpaper" # Wallpaper
|
||||||
|
"waybar" # Status bar
|
||||||
|
"[workspace 1 silent] kitty"
|
||||||
|
"[workspace 2 silent] kitty"
|
||||||
|
"[workspace 2 silent] signal-desktop"
|
||||||
|
"[workspace 3 silent] chromium"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Keybinds
|
||||||
|
bind = [
|
||||||
|
"$mod, R, exec, rofi -show drun"
|
||||||
|
"$mod SHIFT, R, exec, rofi -show run"
|
||||||
|
"$mod, T, exec, kitty"
|
||||||
|
"$mod, F, exec, nautilus"
|
||||||
|
"$mod, C, killactive,"
|
||||||
|
"$mod, M, exec, rofi -show menu -modi \"menu:rofi-power-menu --choices=shutdown/reboot/logout\""
|
||||||
|
"$mod, L, exec, hyprlock"
|
||||||
|
", PRINT, exec, hyprshot -m window"
|
||||||
|
"$mod, PRINT, exec, hyprshot -m output"
|
||||||
|
"$mod SHIFT, PRINT, exec, hyprshot -m region"
|
||||||
|
|
||||||
|
"$mod, left, movefocus, l"
|
||||||
|
"$mod, right, movefocus, r"
|
||||||
|
"$mod, up, movefocus, u"
|
||||||
|
"$mod, down, movefocus, d"
|
||||||
|
|
||||||
|
"$mod, 1, workspace, 1"
|
||||||
|
"$mod, 2, workspace, 2"
|
||||||
|
"$mod, 3, workspace, 3"
|
||||||
|
"$mod, 4, workspace, 4"
|
||||||
|
"$mod, 5, workspace, 5"
|
||||||
|
"$mod, 6, workspace, 6"
|
||||||
|
"$mod, 7, workspace, 7"
|
||||||
|
"$mod, 8, workspace, 8"
|
||||||
|
"$mod, 9, workspace, 9"
|
||||||
|
"$mod, 0, workspace, 10"
|
||||||
|
|
||||||
|
"$mod SHIFT, 1, movetoworkspace, 1"
|
||||||
|
"$mod SHIFT, 2, movetoworkspace, 2"
|
||||||
|
"$mod SHIFT, 3, movetoworkspace, 3"
|
||||||
|
"$mod SHIFT, 4, movetoworkspace, 4"
|
||||||
|
"$mod SHIFT, 5, movetoworkspace, 5"
|
||||||
|
"$mod SHIFT, 6, movetoworkspace, 6"
|
||||||
|
"$mod SHIFT, 7, movetoworkspace, 7"
|
||||||
|
"$mod SHIFT, 8, movetoworkspace, 8"
|
||||||
|
"$mod SHIFT, 9, movetoworkspace, 9"
|
||||||
|
"$mod SHIFT, 0, movetoworkspace, 10"
|
||||||
|
|
||||||
|
"$mod, H, layoutmsg, preselect r"
|
||||||
|
"$mod, V, layoutmsg, preselect d"
|
||||||
|
"$mod SHIFT, right, resizeactive, 100 0"
|
||||||
|
"$mod SHIFT, left, resizeactive, -100 0"
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
# Mouse binds
|
||||||
|
bindm = [
|
||||||
|
"$mod, mouse:272, movewindow"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Multimedia binds
|
||||||
|
bindel = [
|
||||||
|
", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"
|
||||||
|
", XF86AudioLowerVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%-"
|
||||||
|
", XF86AudioMute, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ toggle"
|
||||||
|
", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
|
||||||
|
", XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+"
|
||||||
|
", XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Set window rules
|
||||||
|
windowrule = [
|
||||||
|
"suppressevent maximize, class:*"
|
||||||
|
"nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0"
|
||||||
|
];
|
||||||
|
|
||||||
|
input = {
|
||||||
|
kb_layout = "us";
|
||||||
|
follow_mouse = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
general = {
|
||||||
|
gaps_in = 4;
|
||||||
|
gaps_out = 8;
|
||||||
|
border_size = 2;
|
||||||
|
"col.active_border" = "$primary_100 $primary_300 45deg";
|
||||||
|
"col.inactive_border" = "$primary_500";
|
||||||
|
layout = "dwindle";
|
||||||
|
};
|
||||||
|
|
||||||
|
decoration = {
|
||||||
|
rounding = 5;
|
||||||
|
rounding_power = 2;
|
||||||
|
|
||||||
|
blur = {
|
||||||
|
enabled = true;
|
||||||
|
size = 4;
|
||||||
|
passes = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
dim_inactive = false;
|
||||||
|
dim_strength = 0.25;
|
||||||
|
|
||||||
|
shadow = {
|
||||||
|
enabled = true;
|
||||||
|
range = 4;
|
||||||
|
render_power = 2;
|
||||||
|
color = "rgba(1a1a1aee)";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
animations.enabled = true;
|
||||||
|
|
||||||
|
dwindle = {
|
||||||
|
pseudotile = "yes";
|
||||||
|
preserve_split = "yes";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
69
nix/hyprlock.nix
Normal file
69
nix/hyprlock.nix
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
# ./modules/users/psljr/hyprlock.nix
|
||||||
|
# Configure hyprlock for user psljr
|
||||||
|
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home-manager.users.psljr = { pkgs, ... }: {
|
||||||
|
programs.hyprlock = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
general = {
|
||||||
|
hide_cursor = false;
|
||||||
|
ignore_empty_input = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
auth = {
|
||||||
|
pam = {
|
||||||
|
enabled = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
fingerprint = {
|
||||||
|
enabled = true;
|
||||||
|
ready_message = "Scan fingerprint to unlock...";
|
||||||
|
present_message = "Authenticating...";
|
||||||
|
retry_delay = 250;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
animations = {
|
||||||
|
enabled = true;
|
||||||
|
fade_in = {
|
||||||
|
duration = 300;
|
||||||
|
bezier = "easeOutQuint";
|
||||||
|
};
|
||||||
|
fade_out = {
|
||||||
|
duration = 300;
|
||||||
|
bezier = "easeOutQuint";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
background = [
|
||||||
|
{
|
||||||
|
path = "/etc/nixos/modules/users/psljr/theme/wallpaper.jpg";
|
||||||
|
blur_passes = 3;
|
||||||
|
blur_size = 8;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
input-field = [
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
size = "200, 50";
|
||||||
|
position = "0, -80";
|
||||||
|
dots_center = true;
|
||||||
|
font_color = "rgb(202, 211, 245)";
|
||||||
|
inner_color = "rgb(91, 96, 120)";
|
||||||
|
outer_color = "rgb(24, 25, 38)";
|
||||||
|
outline_thickness = 5;
|
||||||
|
shadow_passes = 2;
|
||||||
|
placeholder_text = "Password...";
|
||||||
|
hide_input = false;
|
||||||
|
halign = "center";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
86
nix/kitty.nix
Normal file
86
nix/kitty.nix
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
# ./modules/users/psljr/kitty.nix
|
||||||
|
# Configure the kitty terminal emulator for user psljr
|
||||||
|
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home-manager.users.psljr = { pkgs, ... }: {
|
||||||
|
programs.kitty = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
# Set font values
|
||||||
|
font = {
|
||||||
|
name = "JetbrainsMono";
|
||||||
|
size = 9;
|
||||||
|
};
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
foreground = "#F7F7F7";
|
||||||
|
selection_foreground = "#2F4858";
|
||||||
|
selection_background = "#f2d5cf";
|
||||||
|
dynamic_background_opacity = "yes";
|
||||||
|
background_opacity="0.75";
|
||||||
|
|
||||||
|
cursor_text_color = "#2F4858";
|
||||||
|
|
||||||
|
url_color = "#f2d5cf";
|
||||||
|
|
||||||
|
active_tab_foreground = "#232634";
|
||||||
|
active_tab_background = "#ca9ee6";
|
||||||
|
inactive_tab_foreground = "#F7F7F7";
|
||||||
|
inactive_tab_background = "#292c3c";
|
||||||
|
tab_bar_background = "#232634";
|
||||||
|
|
||||||
|
mark1_foreground = "#2F4858";
|
||||||
|
mark1_background = "#babbf1";
|
||||||
|
mark2_foreground = "#2F4858";
|
||||||
|
mark2_background = "#ca9ee6";
|
||||||
|
mark3_foreground = "#2F4858";
|
||||||
|
mark3_background = "#85c1dc";
|
||||||
|
|
||||||
|
# The 16 terminal colors
|
||||||
|
|
||||||
|
# Black
|
||||||
|
color0 = "#51576d";
|
||||||
|
color8 = "#626880";
|
||||||
|
|
||||||
|
# Red
|
||||||
|
color1 = "#e78284";
|
||||||
|
color9 = "#e78284";
|
||||||
|
|
||||||
|
# Green
|
||||||
|
color2 = "#a6d189";
|
||||||
|
color10 = "#a6d189";
|
||||||
|
|
||||||
|
# Yellow
|
||||||
|
color3 = "#e5c890";
|
||||||
|
color11 = "#e5c890";
|
||||||
|
|
||||||
|
# Blue
|
||||||
|
color4 = "#8caaee";
|
||||||
|
color12 = "#8caaee";
|
||||||
|
|
||||||
|
# Magenta
|
||||||
|
color5 = "#f4b8e4";
|
||||||
|
color13 = "#f4b8e4";
|
||||||
|
|
||||||
|
# Cyan
|
||||||
|
color6 = "#81c8be";
|
||||||
|
color14 = "#81c8be";
|
||||||
|
|
||||||
|
# White
|
||||||
|
color7 = "#b5bfe2";
|
||||||
|
color15 = "#a5adce";
|
||||||
|
};
|
||||||
|
|
||||||
|
keybindings = {
|
||||||
|
"ctrl+c" = "copy_or_interrupt";
|
||||||
|
"ctrl+v" = "paste_from_clipboard";
|
||||||
|
"ctrl+shift+plus" = "change_font_size all +1.0";
|
||||||
|
"ctrl+shift+equal" = "change_font_size all +1.0";
|
||||||
|
"ctrl+shift+minus" = "change_font_size all -1.0";
|
||||||
|
"ctrl+shift+kp_subtract" = "change_font_size all -1.0";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
120
nix/rofi.nix
Normal file
120
nix/rofi.nix
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
# ./modules/users/psljr/rofi.nix
|
||||||
|
# Configure the rofi launcher for user psljr.
|
||||||
|
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home-manager.users.psljr = {
|
||||||
|
programs.rofi = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
font = "JetbrainsMono 10";
|
||||||
|
extraConfig = {
|
||||||
|
show-icons = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
plugins = with pkgs; [
|
||||||
|
rofi-calc
|
||||||
|
rofi-bluetooth
|
||||||
|
rofi-power-menu
|
||||||
|
rofi-network-manager
|
||||||
|
];
|
||||||
|
|
||||||
|
theme = let
|
||||||
|
inherit (config.home-manager.users.psljr.lib.formats.rasi) mkLiteral;
|
||||||
|
in {
|
||||||
|
"*" = {
|
||||||
|
bg0 = mkLiteral "#262626";
|
||||||
|
bg1 = mkLiteral "#303030";
|
||||||
|
fg0 = mkLiteral "#F7F7F7";
|
||||||
|
|
||||||
|
accent-color = mkLiteral "#FF9955";
|
||||||
|
urgent-color = mkLiteral "#DBBC7F";
|
||||||
|
|
||||||
|
background-color = mkLiteral "transparent";
|
||||||
|
text-color = mkLiteral "@fg0";
|
||||||
|
|
||||||
|
margin = mkLiteral "0";
|
||||||
|
padding = mkLiteral "0";
|
||||||
|
spacing = mkLiteral "0";
|
||||||
|
};
|
||||||
|
|
||||||
|
"window" = {
|
||||||
|
location = mkLiteral "center";
|
||||||
|
width = mkLiteral "480";
|
||||||
|
border-radius = mkLiteral "5px";
|
||||||
|
border = mkLiteral "1px";
|
||||||
|
border-color = mkLiteral "#FF995555";
|
||||||
|
background-color = mkLiteral "@bg0";
|
||||||
|
};
|
||||||
|
|
||||||
|
"inputbar" = {
|
||||||
|
spacing = mkLiteral "8px";
|
||||||
|
padding = mkLiteral "8px";
|
||||||
|
background-color = mkLiteral "@bg1";
|
||||||
|
};
|
||||||
|
|
||||||
|
"prompt, entry, element-icon, element-text" = {
|
||||||
|
vertical-align = mkLiteral "0.5";
|
||||||
|
};
|
||||||
|
|
||||||
|
"prompt" = {
|
||||||
|
text-color = mkLiteral "@accent-color";
|
||||||
|
};
|
||||||
|
|
||||||
|
"textbox" = {
|
||||||
|
padding = mkLiteral "8px";
|
||||||
|
background-color = mkLiteral "@bg1";
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
"listview" = {
|
||||||
|
padding = mkLiteral "4px 0";
|
||||||
|
lines = mkLiteral "8";
|
||||||
|
columns = mkLiteral "1";
|
||||||
|
fixed-height = mkLiteral "false";
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
|
"element" = {
|
||||||
|
padding = mkLiteral "8px";
|
||||||
|
spaciong = mkLiteral "8px";
|
||||||
|
};
|
||||||
|
|
||||||
|
"element normal normal, element alternate normal" = {
|
||||||
|
text-color = mkLiteral "@fg0";
|
||||||
|
background-color = mkLiteral "@bg0";
|
||||||
|
};
|
||||||
|
|
||||||
|
"element normal urgent, element alternate urgent" = {
|
||||||
|
text-color = mkLiteral "@urgent-color";
|
||||||
|
};
|
||||||
|
|
||||||
|
"element normal active, element alternate active" = {
|
||||||
|
text-color = mkLiteral "@accent-color";
|
||||||
|
};
|
||||||
|
|
||||||
|
"element selected" = {
|
||||||
|
text-color = mkLiteral "@bg0";
|
||||||
|
};
|
||||||
|
|
||||||
|
"element selected normal, element selected active" = {
|
||||||
|
background-color = mkLiteral "@accent-color";
|
||||||
|
text-color = mkLiteral "@bg0";
|
||||||
|
};
|
||||||
|
|
||||||
|
"element selected urgent" = {
|
||||||
|
background-color = mkLiteral "@urgent-color";
|
||||||
|
};
|
||||||
|
|
||||||
|
"element-icon" = {
|
||||||
|
size = mkLiteral "0.8em";
|
||||||
|
};
|
||||||
|
|
||||||
|
"element-text" = {
|
||||||
|
text-color = mkLiteral "inherit";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
BIN
nix/theme/wallpaper.jpg
Normal file
BIN
nix/theme/wallpaper.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.7 MiB |
162
nix/waybar.nix
Normal file
162
nix/waybar.nix
Normal file
@@ -0,0 +1,162 @@
|
|||||||
|
# ./modules/users/psljr/waybar.nix
|
||||||
|
# Configure the waybar status bar for user psljr
|
||||||
|
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home-manager.users.psljr = { pkgs, ... }: {
|
||||||
|
programs.waybar = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
mainBar = {
|
||||||
|
layer = "top";
|
||||||
|
position = "top";
|
||||||
|
spacing = 4;
|
||||||
|
|
||||||
|
# Define waybar modules
|
||||||
|
modules-left = [
|
||||||
|
"hyprland/window"
|
||||||
|
];
|
||||||
|
# modules-center = [];
|
||||||
|
modules-right = [
|
||||||
|
"idle_inhibitor"
|
||||||
|
"network"
|
||||||
|
"bluetooth"
|
||||||
|
"cpu"
|
||||||
|
"memory"
|
||||||
|
"battery"
|
||||||
|
"clock"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Module configuration
|
||||||
|
"idle_inhibitor" = {
|
||||||
|
format = "{icon}";
|
||||||
|
format-icons = {
|
||||||
|
activated = "";
|
||||||
|
deactivated = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
"network" = {
|
||||||
|
"format-wifi" = " {essid} ({signalStrength}%)";
|
||||||
|
"format-ethernet" = "{ipaddr}/{cidr} ";
|
||||||
|
"tooltip-format" = "{ifname} via {gwaddr} ";
|
||||||
|
"format-linked" = "{ifname} (No IP) ";
|
||||||
|
"format-disconnected" = "Disconnected ⚠";
|
||||||
|
"on-click" = "rofi-network-manager";
|
||||||
|
};
|
||||||
|
|
||||||
|
"bluetooth" = {
|
||||||
|
"format" = " {status}";
|
||||||
|
"format-connected" = " {status}";
|
||||||
|
"tooltip-format" = "{controller_alias}\t{controller_address}\n\n{num_connections} connected";
|
||||||
|
"on-click" = "rofi-bluetooth";
|
||||||
|
};
|
||||||
|
|
||||||
|
"cpu" = {
|
||||||
|
"format" = " {usage}%";
|
||||||
|
"tooltip" = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
"memory" = {
|
||||||
|
"format" = " {}%";
|
||||||
|
"tooltip" = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
"battery" = {
|
||||||
|
"states" = {
|
||||||
|
"warning" = 30;
|
||||||
|
"critical" = 15;
|
||||||
|
};
|
||||||
|
|
||||||
|
"format" = "{icon} {capacity}%";
|
||||||
|
"format-full" = "{icon} {capacity}%";
|
||||||
|
"format-charging" = " {capacity}%";
|
||||||
|
"format-plugged" = " {capacity}%";
|
||||||
|
"format-alt" = "{time} {icon}";
|
||||||
|
"format-icons" = ["" "" "" "" ""];
|
||||||
|
};
|
||||||
|
|
||||||
|
"clock" = {
|
||||||
|
"format" = "{:%H:%M | %e %B} ";
|
||||||
|
"tooltip-format" = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
style = ''
|
||||||
|
* {
|
||||||
|
/* `otf-font-awesome` and SpaceMono Nerd Font are required to be installed for icons */
|
||||||
|
font-family: JetbrainsMono, FontAwesome, Roboto, Helvetica, Arial, sans-serif;
|
||||||
|
font-size: 10px;
|
||||||
|
transition: background-color .3s ease-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background: rgba(38, 38, 38, 0.75);
|
||||||
|
color: #F7F7F7;
|
||||||
|
font-family:
|
||||||
|
SpaceMono Nerd Font,
|
||||||
|
feather;
|
||||||
|
transition: background-color .5s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modules-left,
|
||||||
|
.modules-right
|
||||||
|
{
|
||||||
|
background: rgba(0, 0, 8, .7);
|
||||||
|
margin: 5px 10px;
|
||||||
|
padding: 5 5px;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
.modules-left {
|
||||||
|
padding: 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock,
|
||||||
|
#battery,
|
||||||
|
#cpu,
|
||||||
|
#memory,
|
||||||
|
#disk,
|
||||||
|
#temperature,
|
||||||
|
#backlight,
|
||||||
|
#network,
|
||||||
|
#pulseaudio,
|
||||||
|
#wireplumber,
|
||||||
|
#custom-media,
|
||||||
|
#tray,
|
||||||
|
#mode,
|
||||||
|
#idle_inhibitor,
|
||||||
|
#scratchpad,
|
||||||
|
#power-profiles-daemon,
|
||||||
|
#language,
|
||||||
|
#mpd {
|
||||||
|
padding: 0 10px;
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#clock:hover,
|
||||||
|
#battery:hover,
|
||||||
|
#cpu:hover,
|
||||||
|
#memory:hover,
|
||||||
|
#disk:hover,
|
||||||
|
#temperature:hover,
|
||||||
|
#backlight:hover,
|
||||||
|
#network:hover,
|
||||||
|
#pulseaudio:hover,
|
||||||
|
#wireplumber:hover,
|
||||||
|
#custom-media:hover,
|
||||||
|
#tray:hover,
|
||||||
|
#mode:hover,
|
||||||
|
#idle_inhibitor:hover,
|
||||||
|
#scratchpad:hover,
|
||||||
|
#power-profiles-daemon:hover,
|
||||||
|
#language:hover,
|
||||||
|
#mpd:hover {
|
||||||
|
background: rgba(38, 38, 38, 0.9);
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user