continue refactor, home modules are actual modules and remove some useless files
This commit is contained in:
39
homeConfigs/modules/x11/bspwm.nix
Normal file
39
homeConfigs/modules/x11/bspwm.nix
Normal file
@ -0,0 +1,39 @@
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# bspwm.nix :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/02/10 00:21:11 by tomoron #+# #+# #
|
||||
# Updated: 2025/02/10 00:30:13 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
{lib, config, ... }:
|
||||
|
||||
{
|
||||
config = lib.mkIf config.mods.x11.enable {
|
||||
xsession.windowManager.bspwm.enable = true;
|
||||
xsession.windowManager.bspwm.extraConfig = ''
|
||||
#/bin/sh
|
||||
pgrep sxhkd > /dev/null || sxhkd &
|
||||
pgrep polybar >/dev/null || polybar -q main -c "$HOME/.config/polybar/config.ini"&
|
||||
|
||||
bspc config border_width 2
|
||||
bspc config window_gap 10
|
||||
|
||||
bspc config split_ratio 0.52
|
||||
bspc config borderless_monocle true
|
||||
bspc config gapless_monocle true
|
||||
|
||||
pgrep alacritty > /dev/null || alacritty &
|
||||
pgrep picom > /dev/null || picom &
|
||||
pgrep dunst >/dev/null || dunst &
|
||||
numlockx on &
|
||||
setxkbmap fr us&
|
||||
nitrogen --restore &
|
||||
pgrep activate-linux >/dev/null || (sleep 2;activate-linux -d)&
|
||||
''; # this is messy but i don't care, x11 isn't my default now.
|
||||
|
||||
};
|
||||
}
|
27
homeConfigs/modules/x11/picom.nix
Normal file
27
homeConfigs/modules/x11/picom.nix
Normal file
@ -0,0 +1,27 @@
|
||||
{ config, lib, pkgs, username,homeDir, ... }:
|
||||
|
||||
{
|
||||
config = lib.mkIf config.mods.x11.enable {
|
||||
services.picom = {
|
||||
enable = true;
|
||||
package = pkgs.picom-pijulius;
|
||||
backend = lib.mkDefault "glx";
|
||||
vSync = true;
|
||||
settings = {
|
||||
blur = {
|
||||
method = lib.mkDefault "gaussian";
|
||||
size = lib.mkDefault 20;
|
||||
deviation = lib.mkDefault 5.0;
|
||||
};
|
||||
corner-radius=20;
|
||||
rounded-corners-exclude = [
|
||||
"window_type = 'dock'"
|
||||
"class_g = 'Dunst'"
|
||||
];
|
||||
blur-background-exclude = [
|
||||
"class_g = 'activate-linux'"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
236
homeConfigs/modules/x11/polybar.nix
Normal file
236
homeConfigs/modules/x11/polybar.nix
Normal file
@ -0,0 +1,236 @@
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# polybar.nix :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/02/10 02:51:32 by tomoron #+# #+# #
|
||||
# Updated: 2025/02/10 03:19:27 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
{ lib, config, ... }:
|
||||
|
||||
{
|
||||
config = lib.mkIf config.mods.x11.enable {
|
||||
services.polybar.enable = true;
|
||||
services.polybar.config = {
|
||||
"global/wm" = {
|
||||
margin-bottom = 0;
|
||||
margin-top = 0;
|
||||
};
|
||||
|
||||
color = {
|
||||
background = "#AA111111";
|
||||
foreground = "#CCCCCC";
|
||||
foreground-alt = "#FFFFFF";
|
||||
alpha = "#00000000";
|
||||
|
||||
shade1 = "#AAFFFFFF";
|
||||
shade2 = "#AAFF0000";
|
||||
};
|
||||
|
||||
"module/memory" = {
|
||||
type = "internal/memory";
|
||||
interval = 1;
|
||||
format = "<label>";
|
||||
format-prefix = "";
|
||||
format-prefix-font = 2;
|
||||
format-padding = 1;
|
||||
label = " %percentage_used%%";
|
||||
};
|
||||
|
||||
"module/filesystem" = {
|
||||
type = "internal/fs";
|
||||
mount-0 = "/";
|
||||
interval = 30;
|
||||
fixed-values = true;
|
||||
format-mounted = "<label-mounted>";
|
||||
format-mounted-prefix = "";
|
||||
format-mounted-prefix-font = 2;
|
||||
format-mounted-padding = 2;
|
||||
label-mounted = " %percentage_used%%";
|
||||
label-unmounted = " %mountpoint%: not mounted";
|
||||
};
|
||||
|
||||
"module/cpu" = {
|
||||
type = "internal/cpu";
|
||||
interval = 1;
|
||||
format = "<label>";
|
||||
format-prefix = " ";
|
||||
format-prefix-font = 2;
|
||||
format-foreground = "\${color.foreground}";
|
||||
format-padding = 1;
|
||||
label = " %percentage%%";
|
||||
};
|
||||
|
||||
"module/temperature" = {
|
||||
type = "internal/temperature";
|
||||
interval = 1;
|
||||
thermal-zone = 0;
|
||||
hwmon-path = "/sys/devices/virtual/thermal/thermal_zone0/temp";
|
||||
warn-temperature = 80;
|
||||
units = true;
|
||||
format = "<ramp> <label>";
|
||||
format-padding = 1;
|
||||
format-warn = "<ramp> <label-warn>";
|
||||
format-warn-foreground = "#FF0000";
|
||||
format-warn-padding = 1;
|
||||
label = "%temperature-c%";
|
||||
label-warn = "%temperature-c%";
|
||||
ramp-0 = "";
|
||||
ramp-1 = "";
|
||||
ramp-2 = "";
|
||||
ramp-3 = "";
|
||||
ramp-4 = "";
|
||||
ramp-font = 2;
|
||||
};
|
||||
|
||||
"module/sep" = {
|
||||
type = "custom/text";
|
||||
content = "|";
|
||||
content-foreground = "#FFFFFF";
|
||||
};
|
||||
|
||||
"module/space" = {
|
||||
type = "custom/text";
|
||||
content = " ";
|
||||
content-padding=1;
|
||||
};
|
||||
|
||||
"module/network" = {
|
||||
type = "internal/network";
|
||||
interface = "wlp2s0";
|
||||
interval = 1.0;
|
||||
accumulate-stats = true;
|
||||
unknown-as-up = true;
|
||||
format-connected = "<ramp-signal><label-connected>";
|
||||
format-connected-prefix = "";
|
||||
format-connected-prefix-font = 2;
|
||||
format-connected-padding = 1;
|
||||
format-disconnected = "<label-disconnected>";
|
||||
format-disconnected-prefix = " ";
|
||||
format-disconnected-prefix-font = 2;
|
||||
format-disconnected-padding = 1;
|
||||
label-connected = "%{A1:networkmanager_dmenu &:} %essid%%{A}";
|
||||
label-disconnected = "%{A1:networkmanager_dmenu &:}%{A}";
|
||||
ramp-signal-0 = " ";
|
||||
ramp-signal-1 = " ";
|
||||
ramp-signal-2 = " ";
|
||||
};
|
||||
|
||||
"module/date" = {
|
||||
type = "internal/date";
|
||||
interval = 1.0;
|
||||
time = " %H:%M:%S";
|
||||
time-alt = " %a, %d %b %Y";
|
||||
format = "<label>";
|
||||
format-prefix = " ";
|
||||
format-prefix-font = 2;
|
||||
format-foreground = "\${color.foreground}";
|
||||
format-padding = 1;
|
||||
label = "%time%";
|
||||
};
|
||||
|
||||
"module/workspaces" = {
|
||||
type = "internal/xworkspaces";
|
||||
pin-workspaces = false;
|
||||
enable-click = true;
|
||||
enable-scroll = false;
|
||||
icon-0 = "1;1";
|
||||
icon-1 = "2;2";
|
||||
icon-2 = "3;3";
|
||||
icon-3 = "4;4";
|
||||
icon-4 = "5;5";
|
||||
icon-5 = "A;A";
|
||||
icon-6 = "B;B";
|
||||
icon-default = 0;
|
||||
format = "<label-state>";
|
||||
format-font = 3;
|
||||
format-background = "#0000FF";
|
||||
format-foreground = "#FF0000";
|
||||
label-monitor = "%name%";
|
||||
label-active = "%icon%";
|
||||
label-active-background = "#44ffffff";
|
||||
label-active-foreground = "#00FF00";
|
||||
label-occupied = "%icon%";
|
||||
label-occupied-background = "#00FFFFFF";
|
||||
label-occupied-foreground = "#00FF00";
|
||||
label-urgent = "%icon%";
|
||||
label-urgent-background = "\${color.background}";
|
||||
label-urgent-foreground = "#CC6666";
|
||||
label-empty = "%icon%";
|
||||
label-empty-background = "#0000FFFF";
|
||||
label-empty-foreground = "#FFFFFF";
|
||||
label-active-padding = 1.85;
|
||||
label-urgent-padding = 1.85;
|
||||
label-occupied-padding = 1.85;
|
||||
label-empty-padding = 1.85;
|
||||
};
|
||||
|
||||
"module/mpris" = {
|
||||
type = "custom/script";
|
||||
exec-if = "playerctl metadata";
|
||||
exec = "playerctl metadata --format '{{ playerName }}:{{ artist }} - {{title}}'";
|
||||
interval = 1;
|
||||
interval-if = 1;
|
||||
};
|
||||
|
||||
"bar/main" = {
|
||||
monitor = "\${env:MONITOR:}";
|
||||
monitor-fallback = "";
|
||||
monitor-strict = false;
|
||||
override-redirect = false;
|
||||
bottom = false;
|
||||
fixed-center = true;
|
||||
width = "100%";
|
||||
height = 40;
|
||||
offset-x = 0;
|
||||
offset-y = 0;
|
||||
background = "\${color.alpha}";
|
||||
foreground = "\${color.foreground}";
|
||||
radius-top = 0.0;
|
||||
radius-bottom = 0.0;
|
||||
underline-size = 2;
|
||||
underline-color = "\${color.foreground}";
|
||||
border-size = 0;
|
||||
border-color = "\${color.background}";
|
||||
padding = 0;
|
||||
module-margin-left = 0;
|
||||
module-margin-right = 0;
|
||||
font-0 = "Iosevka Nerd Font:style=Bold:pixelsize=13;4";
|
||||
font-1 = "Iosevka Nerd Font:style=Bold:pixelsize=15;4";
|
||||
font-2 = "Iosevka Nerd Font:style=Bold:pixelsize=15;4";
|
||||
modules-left = "workspaces space mpris";
|
||||
modules-center = "";
|
||||
modules-right = "memory sep filesystem sep cpu sep temperature sep network sep date";
|
||||
separator = "";
|
||||
dim-value = 1.0;
|
||||
tray-position = "none";
|
||||
tray-detached = false;
|
||||
tray-maxsize = 16;
|
||||
tray-background = "\${color.background}";
|
||||
tray-offset-x = 0;
|
||||
tray-offset-y = 0;
|
||||
tray-padding = 0;
|
||||
tray-scale = 1.0;
|
||||
enable-ipc = true;
|
||||
};
|
||||
|
||||
settings = {
|
||||
throttle-output = 5;
|
||||
throttle-output-for = 10;
|
||||
screenchange-reload = false;
|
||||
|
||||
compositing-background = "source";
|
||||
compositing-foreground = "over";
|
||||
compositing-overline = "over";
|
||||
compositing-underline = "over";
|
||||
compositing-border = "over";
|
||||
|
||||
pseudo-transparency = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
77
homeConfigs/modules/x11/sxhkd.nix
Normal file
77
homeConfigs/modules/x11/sxhkd.nix
Normal file
@ -0,0 +1,77 @@
|
||||
# **************************************************************************** #
|
||||
# #
|
||||
# ::: :::::::: #
|
||||
# sxhkd.nix :+: :+: :+: #
|
||||
# +:+ +:+ +:+ #
|
||||
# By: tomoron <tomoron@student.42angouleme.fr> +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2025/02/10 00:32:47 by tomoron #+# #+# #
|
||||
# Updated: 2025/02/10 01:17:29 by tomoron ### ########.fr #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
|
||||
{ lib, config, ... }:
|
||||
|
||||
{
|
||||
config = lib.mkIf config.mods.x11.enable {
|
||||
services.sxhkd.enable = true;
|
||||
services.sxhkd.keybindings = {
|
||||
"super + Return" = "alacritty";
|
||||
"super + d" = "dmenu_run";
|
||||
"super + shift + d" = "dmenu_run";
|
||||
"super + Escape" = "pkill -USR1 -x sxhkd";
|
||||
|
||||
"super + alt + {q,r}" = "bspc {quit,wm -r}";
|
||||
"control + alt + {_,shift + }q" = "bspc node -{c,k}";
|
||||
|
||||
"super + m" = "bspc desktop -l next";
|
||||
"super + y" = "bspc node newest.marked.local -n newest.!automatic.local";
|
||||
|
||||
"super + g" = "bspc node -s biggest.window";
|
||||
|
||||
"super + {t,shift + t,s,f}" = "bspc node -t {tiled,pseudo_tiled,floating,fullscreen}";
|
||||
"super + ctrl + {m,x,y,z}" = "bspc node -g {marked,locked,sticky,private}";
|
||||
|
||||
"super + {_,shift + }{h,j,k,l}" = "bspc node -{f,s} {west,south,north,east}";
|
||||
"super + {p,b,comma,period}" = "bspc node -f @{parent,brother,first,second}";
|
||||
"super + {_,shift + }c" = "bspc node -f {next,prev}.local.!hidden.window";
|
||||
|
||||
"super + bracket{left,right}" = "bspc desktop -f {prev,next}.local";
|
||||
"super + {grave,Tab}" = "bspc {node,desktop} -f last";
|
||||
|
||||
"super + {_,shift + }{1-9,0}" = "bspc {desktop -f,node -d} '^{1-9,10}'";
|
||||
|
||||
#
|
||||
# preselect
|
||||
#
|
||||
"super + ctrl + {h,j,k,l}" = "bspc node -p {west,south,north,east}";
|
||||
"super + ctrl + {1-9}" = "bspc node -o 0.{1-9}";
|
||||
"super + ctrl + space" = "bspc node -p cancel";
|
||||
"super + ctrl + shift + space" = "bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel";
|
||||
|
||||
#
|
||||
# move/resize
|
||||
#
|
||||
|
||||
"super + alt + {h,j,k,l}" = "bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}";
|
||||
"super + alt + shift + {h,j,k,l}" = "bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}";
|
||||
"super + {Left,Down,Up,Right}" = "bspc node -v {-20 0,0 20,0 -20,20 0}";
|
||||
|
||||
"XF86AudioLowerVolume" = "pactl set-sink-volume @DEFAULT_SINK@ -5%";
|
||||
|
||||
"XF86AudioRaiseVolume" = "pactl set-sink-volume @DEFAULT_SINK@ +5%";
|
||||
"XF86AudioMute" = "pactl set-sink-mute @DEFAULT_SINK@ toggle";
|
||||
"XF86MonBrightnessUp" = "brightness up";
|
||||
"XF86MonBrightnessDown" = "brightness down";
|
||||
|
||||
"alt + F7" = "brightnessctl s 10-";
|
||||
"alt + F8" = "brightnessctl s 10+";
|
||||
|
||||
"super + shift + o" = "playerctl play-pause";
|
||||
"super + shift + p" = "playerctl previous";
|
||||
"super + shift + n" = "playerctl next";
|
||||
"super + shift + alt + b" = "polybar-msg cmd hide";
|
||||
"super + shift + b" = "polybar-msg cmd show";
|
||||
};
|
||||
};
|
||||
}
|
16
homeConfigs/modules/x11/x11.nix
Normal file
16
homeConfigs/modules/x11/x11.nix
Normal file
@ -0,0 +1,16 @@
|
||||
{ lib, pkgs, config , ... }:
|
||||
|
||||
{
|
||||
options.mods.x11.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = "configure x11";
|
||||
};
|
||||
|
||||
config = lib.mkIf config.mods.x11.enable {
|
||||
home.packages = with pkgs; [
|
||||
nitrogen
|
||||
numlockx
|
||||
];
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user