thelio76: split more out
This commit is contained in:
parent
ec64b2c13c
commit
e9131f2974
|
@ -0,0 +1,18 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
programs.bash = {
|
||||||
|
enable = true;
|
||||||
|
bashrcExtra = ''
|
||||||
|
function nxr () {
|
||||||
|
set -u
|
||||||
|
local pkg="$1"
|
||||||
|
shift
|
||||||
|
nix-shell -p "$pkg" --run "$pkg $@"
|
||||||
|
set +u
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
shellAliases = {
|
||||||
|
"git-override" = "git add . && git commit --amend --no-edit && git push --force-with-lease";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
{ user, ... }:
|
||||||
|
{
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userEmail = "alexmat2on@protonmail.com";
|
||||||
|
userName = user;
|
||||||
|
ignores = [ "*~" ];
|
||||||
|
extraConfig = {
|
||||||
|
init.defaultBranch = "main";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
programs.kitty = {
|
||||||
|
enable = true;
|
||||||
|
# TODO figure out how to get atau-nixpkgs working from the flake with different systems
|
||||||
|
# background_image ${atau-nixpkgs.atau-wallpapers}/share/backgrounds/atau-wallpapers/aos1.png
|
||||||
|
extraConfig = ''
|
||||||
|
background_tint 0.2
|
||||||
|
background_image_layout centered
|
||||||
|
|
||||||
|
modify_font cell_width 110%
|
||||||
|
|
||||||
|
window_border_width 1
|
||||||
|
window_margin_width 10
|
||||||
|
window_padding_width 2
|
||||||
|
'';
|
||||||
|
theme = "Rosé Pine Dawn";
|
||||||
|
font.package = pkgs.victor-mono;
|
||||||
|
font.name = "Victor Mono";
|
||||||
|
font.size = 12;
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
programs.mpv = {
|
||||||
|
enable = true;
|
||||||
|
scriptOpts = {
|
||||||
|
"ytdl_hook" = {
|
||||||
|
"ytdl_path" = "${pkgs.yt-dlp}/bin/yt-dlp";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
xsession.windowManager.bspwm = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
border_width = 10;
|
||||||
|
focus_follows_pointer = true;
|
||||||
|
};
|
||||||
|
extraConfig = ''
|
||||||
|
bspc monitor DP-2 -d I II III IV V
|
||||||
|
bspc monitor HDMI-1 -d VI VII VIII IX X
|
||||||
|
|
||||||
|
# Set mouse 1 to move floating windows:
|
||||||
|
bspc config pointer_action1 move
|
||||||
|
|
||||||
|
# Mouse 2 button resizes the window by side:
|
||||||
|
bspc config pointer_action2 resize_side
|
||||||
|
|
||||||
|
# Mouse 3 button (right mouse) resize by corner:
|
||||||
|
bspc config pointer_action2 resize_corner
|
||||||
|
'';
|
||||||
|
startupPrograms = [ "picom" "polybar primary" "polybar secondary" ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
# WM/DE config
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
font.name = "Victor Mono SemiBold 12";
|
||||||
|
theme = {
|
||||||
|
name = "SolArc-Dark";
|
||||||
|
package = pkgs.solarc-gtk-theme;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
xsession.enable = true;
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./bspwm.nix
|
||||||
|
./sxhkd.nix
|
||||||
|
./picom.nix
|
||||||
|
./polybar.nix
|
||||||
|
];
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
services.picom = {
|
||||||
|
enable = true;
|
||||||
|
backend = "glx";
|
||||||
|
|
||||||
|
activeOpacity = 1;
|
||||||
|
inactiveOpacity = 0.75;
|
||||||
|
shadow = true;
|
||||||
|
vSync = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
blur = {
|
||||||
|
method = "gaussian";
|
||||||
|
size = 50;
|
||||||
|
deviation = 10.0;
|
||||||
|
};
|
||||||
|
corner-radius = 15;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,180 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
services.polybar = {
|
||||||
|
enable = true;
|
||||||
|
script = ""; # required but we start polybar via bspwm, so dont start it here.
|
||||||
|
config = rec {
|
||||||
|
colors = {
|
||||||
|
background = "#282A2E";
|
||||||
|
# background = "#ff00ff";
|
||||||
|
background-alt = "#373B41";
|
||||||
|
foreground = "#C5C8C6";
|
||||||
|
primary = "#F0C674";
|
||||||
|
secondary = "#8ABEB7";
|
||||||
|
alert = "#A54242";
|
||||||
|
disabled = "#707880";
|
||||||
|
};
|
||||||
|
|
||||||
|
common-bar = {
|
||||||
|
width = "100%";
|
||||||
|
height = "24pt";
|
||||||
|
radius = 10;
|
||||||
|
|
||||||
|
#;dpi = 96
|
||||||
|
|
||||||
|
background = colors.background;
|
||||||
|
foreground = colors.foreground;
|
||||||
|
line-size = "3pt";
|
||||||
|
|
||||||
|
border-size = "4pt";
|
||||||
|
border-color = "#00000000";
|
||||||
|
|
||||||
|
padding-left = 0;
|
||||||
|
padding-right = 1;
|
||||||
|
|
||||||
|
module-margin = 1;
|
||||||
|
|
||||||
|
separator = "|";
|
||||||
|
separator-foreground = colors.disabled;
|
||||||
|
|
||||||
|
font-0 = "monospace;2";
|
||||||
|
wm-restack = "bspwm";
|
||||||
|
|
||||||
|
cursor-click = "pointer";
|
||||||
|
cursor-scroll = "ns-resize";
|
||||||
|
|
||||||
|
enable-ipc = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
"bar/primary" = common-bar // {
|
||||||
|
monitor = "DP-2";
|
||||||
|
modules-left = "xworkspaces xwindow";
|
||||||
|
modules-right = "filesystem memory cpu wlan date";
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
"bar/secondary" = common-bar // {
|
||||||
|
monitor = "HDMI-1";
|
||||||
|
modules-left = "xworkspaces";
|
||||||
|
modules-center = "date";
|
||||||
|
};
|
||||||
|
|
||||||
|
"module/xworkspaces" = {
|
||||||
|
type = "internal/xworkspaces";
|
||||||
|
|
||||||
|
group-by-monitor = true;
|
||||||
|
pin-workspaces = true;
|
||||||
|
|
||||||
|
label-active = "%name%";
|
||||||
|
label-active-background = colors.background-alt;
|
||||||
|
label-active-underline = colors.primary;
|
||||||
|
label-active-padding = 1;
|
||||||
|
|
||||||
|
label-occupied = "%name%";
|
||||||
|
label-occupied-padding = 1;
|
||||||
|
|
||||||
|
label-urgent = "%name%";
|
||||||
|
label-urgent-background = colors.alert;
|
||||||
|
label-urgent-padding = 1;
|
||||||
|
|
||||||
|
label-empty = "%name%";
|
||||||
|
label-empty-foreground = colors.disabled;
|
||||||
|
label-empty-padding = 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
extraConfig = ''
|
||||||
|
[module/systray]
|
||||||
|
type = internal/tray
|
||||||
|
|
||||||
|
format-margin = 8pt
|
||||||
|
tray-spacing = 16pt
|
||||||
|
|
||||||
|
[module/xwindow]
|
||||||
|
type = internal/xwindow
|
||||||
|
label = %title:0:60:...%
|
||||||
|
|
||||||
|
[module/filesystem]
|
||||||
|
type = internal/fs
|
||||||
|
interval = 25
|
||||||
|
|
||||||
|
mount-0 = /
|
||||||
|
|
||||||
|
label-mounted = %{F#F0C674}%mountpoint%%{F-} %percentage_used%%
|
||||||
|
|
||||||
|
label-unmounted = %mountpoint% not mounted
|
||||||
|
label-unmounted-foreground = ''${colors.disabled}
|
||||||
|
|
||||||
|
[module/pulseaudio]
|
||||||
|
type = internal/pulseaudio
|
||||||
|
|
||||||
|
format-volume-prefix = "VOL "
|
||||||
|
format-volume-prefix-foreground = ''${colors.primary}
|
||||||
|
format-volume = <label-volume>
|
||||||
|
|
||||||
|
label-volume = %percentage%%
|
||||||
|
|
||||||
|
label-muted = muted
|
||||||
|
label-muted-foreground = ''${colors.disabled}
|
||||||
|
|
||||||
|
[module/xkeyboard]
|
||||||
|
type = internal/xkeyboard
|
||||||
|
blacklist-0 = num lock
|
||||||
|
|
||||||
|
label-layout = %layout%
|
||||||
|
label-layout-foreground = ''${colors.primary}
|
||||||
|
|
||||||
|
label-indicator-padding = 2
|
||||||
|
label-indicator-margin = 1
|
||||||
|
label-indicator-foreground = ''${colors.background}
|
||||||
|
label-indicator-background = ''${colors.secondary}
|
||||||
|
|
||||||
|
[module/memory]
|
||||||
|
type = internal/memory
|
||||||
|
interval = 2
|
||||||
|
format-prefix = "RAM "
|
||||||
|
format-prefix-foreground = ''${colors.primary}
|
||||||
|
label = %percentage_used:2%%
|
||||||
|
|
||||||
|
[module/cpu]
|
||||||
|
type = internal/cpu
|
||||||
|
interval = 2
|
||||||
|
format-prefix = "CPU "
|
||||||
|
format-prefix-foreground = ''${colors.primary}
|
||||||
|
label = %percentage:2%%
|
||||||
|
|
||||||
|
[network-base]
|
||||||
|
type = internal/network
|
||||||
|
interval = 5
|
||||||
|
format-connected = <label-connected>
|
||||||
|
format-disconnected = <label-disconnected>
|
||||||
|
label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected
|
||||||
|
|
||||||
|
[module/wlan]
|
||||||
|
inherit = network-base
|
||||||
|
interface-type = wireless
|
||||||
|
label-connected = %{F#F0C674}%ifname%%{F-} %essid% %local_ip%
|
||||||
|
|
||||||
|
[module/eth]
|
||||||
|
inherit = network-base
|
||||||
|
interface-type = wired
|
||||||
|
label-connected = %{F#F0C674}%ifname%%{F-} %local_ip%
|
||||||
|
|
||||||
|
[module/date]
|
||||||
|
type = internal/date
|
||||||
|
interval = 1
|
||||||
|
|
||||||
|
date = %l:%M%P
|
||||||
|
date-alt = %Y-%m-%d %H:%M:%S
|
||||||
|
|
||||||
|
label = %date%
|
||||||
|
label-foreground = ''${colors.primary}
|
||||||
|
|
||||||
|
[settings]
|
||||||
|
screenchange-reload = true
|
||||||
|
pseudo-transparency = true
|
||||||
|
|
||||||
|
; vim:ft=dosini
|
||||||
|
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,83 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
services.sxhkd = {
|
||||||
|
enable = true;
|
||||||
|
keybindings = {
|
||||||
|
"super + Return" = "kitty";
|
||||||
|
|
||||||
|
#
|
||||||
|
# bspwm hotkeys
|
||||||
|
#
|
||||||
|
|
||||||
|
# quit/restart bspwm
|
||||||
|
"super + alt + {q,r}" =
|
||||||
|
"bspc {quit,wm -r}";
|
||||||
|
|
||||||
|
# close and kill
|
||||||
|
"super + {_,shift + }w" =
|
||||||
|
"bspc node -{c,k}";
|
||||||
|
|
||||||
|
#
|
||||||
|
# state/flags
|
||||||
|
#
|
||||||
|
|
||||||
|
# set the window state
|
||||||
|
"super + {t,shift + t,s,f}" =
|
||||||
|
"bspc node -t {tiled,pseudo_tiled,floating,fullscreen}";
|
||||||
|
|
||||||
|
# set the node flags
|
||||||
|
"super + ctrl + {m,x,y,z}" =
|
||||||
|
"bspc node -g {marked,locked,sticky,private}";
|
||||||
|
|
||||||
|
#
|
||||||
|
# focus/swap
|
||||||
|
#
|
||||||
|
|
||||||
|
# focus the node in the given direction
|
||||||
|
"super + {_,shift + }{h,j,k,l}" =
|
||||||
|
"bspc node -{f,s} {west,south,north,east}";
|
||||||
|
|
||||||
|
# focus the node for the given path jump
|
||||||
|
"super + {p,b,comma,period}" =
|
||||||
|
"bspc node -f @{parent,brother,first,second}";
|
||||||
|
# focus the next/previous window in the current desktop
|
||||||
|
"super + {_,shift + }c" = "bspc node -f {next,prev}.local.!hidden.window";
|
||||||
|
|
||||||
|
# focus the next/previous desktop in the current monitor
|
||||||
|
"super + bracket{left,right}" =
|
||||||
|
"bspc desktop -f {prev,next}.local";
|
||||||
|
|
||||||
|
# focus the last node/desktop
|
||||||
|
"super + {grave,Tab}" = "bspc {node,desktop} -f last";
|
||||||
|
|
||||||
|
# focus the older or newer node in the focus history
|
||||||
|
"super + {o,i}" = ''
|
||||||
|
bspc wm -h off; \
|
||||||
|
bspc node {older,newer} -f; \
|
||||||
|
bspc wm -h on
|
||||||
|
'';
|
||||||
|
|
||||||
|
# focus or send to the given desktop
|
||||||
|
"super + {_,shift + }{1-9,0}" =
|
||||||
|
"bspc {desktop -f,node -d} '^{1-9,10}'";
|
||||||
|
|
||||||
|
#
|
||||||
|
# move/resize
|
||||||
|
#
|
||||||
|
|
||||||
|
# expand a window by moving one of its side outward
|
||||||
|
"super + alt + {h,j,k,l}" =
|
||||||
|
" bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}";
|
||||||
|
|
||||||
|
# contract a window by moving one of its side inward
|
||||||
|
"super + alt + shift + {h,j,k,l}" =
|
||||||
|
"bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}";
|
||||||
|
|
||||||
|
# move a floating window
|
||||||
|
"super + {Left,Down,Up,Right}" =
|
||||||
|
" bspc node -v {-20 0,0 20,0 -20,20 0}";
|
||||||
|
|
||||||
|
"Super_L; @Super_L" = "rofi -show drun";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -6,6 +6,17 @@
|
||||||
home.username = user;
|
home.username = user;
|
||||||
home.homeDirectory = "/home/${user}";
|
home.homeDirectory = "/home/${user}";
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
../../modules/bspwm
|
||||||
|
|
||||||
|
../../apps/bash.nix
|
||||||
|
../../apps/firefox.nix
|
||||||
|
../../apps/git.nix
|
||||||
|
../../apps/kitty.nix
|
||||||
|
../../apps/mpv.nix
|
||||||
|
../../apps/vscode.nix
|
||||||
|
];
|
||||||
|
|
||||||
# Packages that should be installed to the user profile.
|
# Packages that should be installed to the user profile.
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
aseprite
|
aseprite
|
||||||
|
@ -51,380 +62,6 @@
|
||||||
yt-dlp
|
yt-dlp
|
||||||
];
|
];
|
||||||
|
|
||||||
imports = [
|
|
||||||
../../apps/firefox.nix
|
|
||||||
../../apps/vscode.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
# WM/DE config
|
|
||||||
gtk = {
|
|
||||||
enable = true;
|
|
||||||
font.name = "Victor Mono SemiBold 12";
|
|
||||||
theme = {
|
|
||||||
name = "SolArc-Dark";
|
|
||||||
package = pkgs.solarc-gtk-theme;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
xsession = {
|
|
||||||
enable = true;
|
|
||||||
windowManager.bspwm = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
border_width = 10;
|
|
||||||
focus_follows_pointer = true;
|
|
||||||
};
|
|
||||||
extraConfig = ''
|
|
||||||
bspc monitor DP-2 -d I II III IV V
|
|
||||||
bspc monitor HDMI-1 -d VI VII VIII IX X
|
|
||||||
|
|
||||||
# Set mouse 1 to move floating windows:
|
|
||||||
bspc config pointer_action1 move
|
|
||||||
|
|
||||||
# Mouse 2 button resizes the window by side:
|
|
||||||
bspc config pointer_action2 resize_side
|
|
||||||
|
|
||||||
# Mouse 3 button (right mouse) resize by corner:
|
|
||||||
bspc config pointer_action2 resize_corner
|
|
||||||
'';
|
|
||||||
startupPrograms = [ "picom" "polybar primary" "polybar secondary" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.sxhkd =
|
|
||||||
{
|
|
||||||
enable = true;
|
|
||||||
keybindings = {
|
|
||||||
"super + Return" = "kitty";
|
|
||||||
|
|
||||||
#
|
|
||||||
# bspwm hotkeys
|
|
||||||
#
|
|
||||||
|
|
||||||
# quit/restart bspwm
|
|
||||||
"super + alt + {q,r}" =
|
|
||||||
"bspc {quit,wm -r}";
|
|
||||||
|
|
||||||
# close and kill
|
|
||||||
"super + {_,shift + }w" =
|
|
||||||
"bspc node -{c,k}";
|
|
||||||
|
|
||||||
#
|
|
||||||
# state/flags
|
|
||||||
#
|
|
||||||
|
|
||||||
# set the window state
|
|
||||||
"super + {t,shift + t,s,f}" =
|
|
||||||
"bspc node -t {tiled,pseudo_tiled,floating,fullscreen}";
|
|
||||||
|
|
||||||
# set the node flags
|
|
||||||
"super + ctrl + {m,x,y,z}" =
|
|
||||||
"bspc node -g {marked,locked,sticky,private}";
|
|
||||||
|
|
||||||
#
|
|
||||||
# focus/swap
|
|
||||||
#
|
|
||||||
|
|
||||||
# focus the node in the given direction
|
|
||||||
"super + {_,shift + }{h,j,k,l}" =
|
|
||||||
"bspc node -{f,s} {west,south,north,east}";
|
|
||||||
|
|
||||||
# focus the node for the given path jump
|
|
||||||
"super + {p,b,comma,period}" =
|
|
||||||
"bspc node -f @{parent,brother,first,second}";
|
|
||||||
# focus the next/previous window in the current desktop
|
|
||||||
"super + {_,shift + }c" = "bspc node -f {next,prev}.local.!hidden.window";
|
|
||||||
|
|
||||||
# focus the next/previous desktop in the current monitor
|
|
||||||
"super + bracket{left,right}" =
|
|
||||||
"bspc desktop -f {prev,next}.local";
|
|
||||||
|
|
||||||
# focus the last node/desktop
|
|
||||||
"super + {grave,Tab}" = "bspc {node,desktop} -f last";
|
|
||||||
|
|
||||||
# focus the older or newer node in the focus history
|
|
||||||
"super + {o,i}" = ''
|
|
||||||
bspc wm -h off; \
|
|
||||||
bspc node {older,newer} -f; \
|
|
||||||
bspc wm -h on
|
|
||||||
'';
|
|
||||||
|
|
||||||
# focus or send to the given desktop
|
|
||||||
"super + {_,shift + }{1-9,0}" =
|
|
||||||
"bspc {desktop -f,node -d} '^{1-9,10}'";
|
|
||||||
|
|
||||||
#
|
|
||||||
# move/resize
|
|
||||||
#
|
|
||||||
|
|
||||||
# expand a window by moving one of its side outward
|
|
||||||
"super + alt + {h,j,k,l}" =
|
|
||||||
" bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}";
|
|
||||||
|
|
||||||
# contract a window by moving one of its side inward
|
|
||||||
"super + alt + shift + {h,j,k,l}" =
|
|
||||||
"bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}";
|
|
||||||
|
|
||||||
# move a floating window
|
|
||||||
"super + {Left,Down,Up,Right}" =
|
|
||||||
" bspc node -v {-20 0,0 20,0 -20,20 0}";
|
|
||||||
|
|
||||||
"Super_L; @Super_L" = "rofi -show drun";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.polybar = {
|
|
||||||
enable = true;
|
|
||||||
script = ""; # required but we start polybar via bspwm, so dont start it here.
|
|
||||||
config = rec {
|
|
||||||
colors = {
|
|
||||||
background = "#282A2E";
|
|
||||||
# background = "#ff00ff";
|
|
||||||
background-alt = "#373B41";
|
|
||||||
foreground = "#C5C8C6";
|
|
||||||
primary = "#F0C674";
|
|
||||||
secondary = "#8ABEB7";
|
|
||||||
alert = "#A54242";
|
|
||||||
disabled = "#707880";
|
|
||||||
};
|
|
||||||
|
|
||||||
common-bar = {
|
|
||||||
width = "100%";
|
|
||||||
height = "24pt";
|
|
||||||
radius = 10;
|
|
||||||
|
|
||||||
#;dpi = 96
|
|
||||||
|
|
||||||
background = colors.background;
|
|
||||||
foreground = colors.foreground;
|
|
||||||
line-size = "3pt";
|
|
||||||
|
|
||||||
border-size = "4pt";
|
|
||||||
border-color = "#00000000";
|
|
||||||
|
|
||||||
padding-left = 0;
|
|
||||||
padding-right = 1;
|
|
||||||
|
|
||||||
module-margin = 1;
|
|
||||||
|
|
||||||
separator = "|";
|
|
||||||
separator-foreground = colors.disabled;
|
|
||||||
|
|
||||||
font-0 = "monospace;2";
|
|
||||||
wm-restack = "bspwm";
|
|
||||||
|
|
||||||
cursor-click = "pointer";
|
|
||||||
cursor-scroll = "ns-resize";
|
|
||||||
|
|
||||||
enable-ipc = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
"bar/primary" = common-bar // {
|
|
||||||
monitor = "DP-2";
|
|
||||||
modules-left = "xworkspaces xwindow";
|
|
||||||
modules-right = "filesystem memory cpu wlan date";
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
"bar/secondary" = common-bar // {
|
|
||||||
monitor = "HDMI-1";
|
|
||||||
modules-left = "xworkspaces";
|
|
||||||
modules-center = "date";
|
|
||||||
};
|
|
||||||
|
|
||||||
"module/xworkspaces" = {
|
|
||||||
type = "internal/xworkspaces";
|
|
||||||
|
|
||||||
group-by-monitor = true;
|
|
||||||
pin-workspaces = true;
|
|
||||||
|
|
||||||
label-active = "%name%";
|
|
||||||
label-active-background = colors.background-alt;
|
|
||||||
label-active-underline = colors.primary;
|
|
||||||
label-active-padding = 1;
|
|
||||||
|
|
||||||
label-occupied = "%name%";
|
|
||||||
label-occupied-padding = 1;
|
|
||||||
|
|
||||||
label-urgent = "%name%";
|
|
||||||
label-urgent-background = colors.alert;
|
|
||||||
label-urgent-padding = 1;
|
|
||||||
|
|
||||||
label-empty = "%name%";
|
|
||||||
label-empty-foreground = colors.disabled;
|
|
||||||
label-empty-padding = 1;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
extraConfig = ''
|
|
||||||
[module/systray]
|
|
||||||
type = internal/tray
|
|
||||||
|
|
||||||
format-margin = 8pt
|
|
||||||
tray-spacing = 16pt
|
|
||||||
|
|
||||||
[module/xwindow]
|
|
||||||
type = internal/xwindow
|
|
||||||
label = %title:0:60:...%
|
|
||||||
|
|
||||||
[module/filesystem]
|
|
||||||
type = internal/fs
|
|
||||||
interval = 25
|
|
||||||
|
|
||||||
mount-0 = /
|
|
||||||
|
|
||||||
label-mounted = %{F#F0C674}%mountpoint%%{F-} %percentage_used%%
|
|
||||||
|
|
||||||
label-unmounted = %mountpoint% not mounted
|
|
||||||
label-unmounted-foreground = ''${colors.disabled}
|
|
||||||
|
|
||||||
[module/pulseaudio]
|
|
||||||
type = internal/pulseaudio
|
|
||||||
|
|
||||||
format-volume-prefix = "VOL "
|
|
||||||
format-volume-prefix-foreground = ''${colors.primary}
|
|
||||||
format-volume = <label-volume>
|
|
||||||
|
|
||||||
label-volume = %percentage%%
|
|
||||||
|
|
||||||
label-muted = muted
|
|
||||||
label-muted-foreground = ''${colors.disabled}
|
|
||||||
|
|
||||||
[module/xkeyboard]
|
|
||||||
type = internal/xkeyboard
|
|
||||||
blacklist-0 = num lock
|
|
||||||
|
|
||||||
label-layout = %layout%
|
|
||||||
label-layout-foreground = ''${colors.primary}
|
|
||||||
|
|
||||||
label-indicator-padding = 2
|
|
||||||
label-indicator-margin = 1
|
|
||||||
label-indicator-foreground = ''${colors.background}
|
|
||||||
label-indicator-background = ''${colors.secondary}
|
|
||||||
|
|
||||||
[module/memory]
|
|
||||||
type = internal/memory
|
|
||||||
interval = 2
|
|
||||||
format-prefix = "RAM "
|
|
||||||
format-prefix-foreground = ''${colors.primary}
|
|
||||||
label = %percentage_used:2%%
|
|
||||||
|
|
||||||
[module/cpu]
|
|
||||||
type = internal/cpu
|
|
||||||
interval = 2
|
|
||||||
format-prefix = "CPU "
|
|
||||||
format-prefix-foreground = ''${colors.primary}
|
|
||||||
label = %percentage:2%%
|
|
||||||
|
|
||||||
[network-base]
|
|
||||||
type = internal/network
|
|
||||||
interval = 5
|
|
||||||
format-connected = <label-connected>
|
|
||||||
format-disconnected = <label-disconnected>
|
|
||||||
label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected
|
|
||||||
|
|
||||||
[module/wlan]
|
|
||||||
inherit = network-base
|
|
||||||
interface-type = wireless
|
|
||||||
label-connected = %{F#F0C674}%ifname%%{F-} %essid% %local_ip%
|
|
||||||
|
|
||||||
[module/eth]
|
|
||||||
inherit = network-base
|
|
||||||
interface-type = wired
|
|
||||||
label-connected = %{F#F0C674}%ifname%%{F-} %local_ip%
|
|
||||||
|
|
||||||
[module/date]
|
|
||||||
type = internal/date
|
|
||||||
interval = 1
|
|
||||||
|
|
||||||
date = %l:%M%P
|
|
||||||
date-alt = %Y-%m-%d %H:%M:%S
|
|
||||||
|
|
||||||
label = %date%
|
|
||||||
label-foreground = ''${colors.primary}
|
|
||||||
|
|
||||||
[settings]
|
|
||||||
screenchange-reload = true
|
|
||||||
pseudo-transparency = true
|
|
||||||
|
|
||||||
; vim:ft=dosini
|
|
||||||
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
services.picom = {
|
|
||||||
enable = true;
|
|
||||||
backend = "glx";
|
|
||||||
|
|
||||||
activeOpacity = 1;
|
|
||||||
inactiveOpacity = 0.75;
|
|
||||||
shadow = true;
|
|
||||||
vSync = true;
|
|
||||||
|
|
||||||
settings = {
|
|
||||||
blur = {
|
|
||||||
method = "gaussian";
|
|
||||||
size = 50;
|
|
||||||
deviation = 10.0;
|
|
||||||
};
|
|
||||||
corner-radius = 15;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# User software configurations
|
|
||||||
programs = {
|
|
||||||
bash = {
|
|
||||||
enable = true;
|
|
||||||
bashrcExtra = ''
|
|
||||||
function nxr () {
|
|
||||||
set -u
|
|
||||||
local pkg="$1"
|
|
||||||
shift
|
|
||||||
nix-shell -p "$pkg" --run "$pkg $@"
|
|
||||||
set +u
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
shellAliases = {
|
|
||||||
"git-override" = "git add . && git commit --amend --no-edit && git push --force-with-lease";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
git = {
|
|
||||||
enable = true;
|
|
||||||
userEmail = "alexmat2on@protonmail.com";
|
|
||||||
userName = "alex";
|
|
||||||
ignores = [ "*~" ];
|
|
||||||
extraConfig = {
|
|
||||||
init.defaultBranch = "main";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
kitty = {
|
|
||||||
enable = true;
|
|
||||||
# TODO figure out how to get atau-nixpkgs working from the flake with different systems
|
|
||||||
# background_image ${atau-nixpkgs.atau-wallpapers}/share/backgrounds/atau-wallpapers/aos1.png
|
|
||||||
extraConfig = ''
|
|
||||||
background_tint 0.2
|
|
||||||
background_image_layout centered
|
|
||||||
|
|
||||||
modify_font cell_width 110%
|
|
||||||
|
|
||||||
window_border_width 1
|
|
||||||
window_margin_width 10
|
|
||||||
window_padding_width 2
|
|
||||||
'';
|
|
||||||
theme = "Rosé Pine Dawn";
|
|
||||||
font.package = pkgs.victor-mono;
|
|
||||||
font.name = "Victor Mono";
|
|
||||||
font.size = 12;
|
|
||||||
};
|
|
||||||
mpv = {
|
|
||||||
enable = true;
|
|
||||||
scriptOpts = {
|
|
||||||
"ytdl_hook" = {
|
|
||||||
"ytdl_path" = "${pkgs.yt-dlp}/bin/yt-dlp";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# This value determines the Home Manager release that your
|
# This value determines the Home Manager release that your
|
||||||
# configuration is compatible with. This helps avoid breakage
|
# configuration is compatible with. This helps avoid breakage
|
||||||
# when a new Home Manager release introduces backwards
|
# when a new Home Manager release introduces backwards
|
||||||
|
|
Loading…
Reference in New Issue