continue refactor, home modules are actual modules and remove some useless files

This commit is contained in:
2025-02-10 05:28:31 +01:00
parent 5363e26357
commit acc21888b9
133 changed files with 1541 additions and 1563 deletions

View 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.
};
}

View 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'"
];
};
};
};
}

View 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;
};
};
};
}

View 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";
};
};
}

View 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
];
};
}