feat: switched back to X
This commit is contained in:
parent
e18f3b4397
commit
555cedf9b6
21
modules/graphical/xserver.nix
Normal file
21
modules/graphical/xserver.nix
Normal file
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
# Configure keymap in X11
|
||||
services.xserver = {
|
||||
enable = true;
|
||||
displayManager.startx.enable = true;
|
||||
autoRepeatDelay = 235;
|
||||
autoRepeatInterval = 60;
|
||||
videoDrivers = ["modesetting"];
|
||||
libinput = {
|
||||
enable = true;
|
||||
mouse.accelProfile = "flat";
|
||||
touchpad = {
|
||||
accelProfile = "flat";
|
||||
accelSpeed = "0.5";
|
||||
naturalScrolling = true;
|
||||
disableWhileTyping = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
services.autorandr.enable = true;
|
||||
}
|
134
users/common/graphical/Xorg/autorandr.nix
Normal file
134
users/common/graphical/Xorg/autorandr.nix
Normal file
|
@ -0,0 +1,134 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
programs.autorandr = let
|
||||
dpi_hd = 96;
|
||||
dpi_uhd = 216;
|
||||
set_dpi = dpi: "echo 'Xft.dpi: ${toString dpi}' | ${pkgs.xorg.xrdb}/bin/xrdb -merge";
|
||||
eDP-1 = "00ffffffffffff0006afeb3000000000251b0104a5221378020925a5564f9b270c50540000000101010101010101010101010101010152d000a0f0703e803020350058c11000001852d000a0f07095843020350025a51000001800000000000000000000000000000000000000000002001430ff123caa8f0e29aa202020003e";
|
||||
# AStA config as function as we want to enable it for two different setups
|
||||
asta_conf = {
|
||||
DP-1-1,
|
||||
DP-1-2,
|
||||
}: {
|
||||
fingerprint = {
|
||||
inherit eDP-1 DP-1-1 DP-1-2;
|
||||
};
|
||||
config = {
|
||||
eDP-1 = {
|
||||
enable = true;
|
||||
primary = true;
|
||||
mode = "3840x2160";
|
||||
position = "0x0";
|
||||
gamma = "1";
|
||||
};
|
||||
DP-1-1 = {
|
||||
enable = true;
|
||||
mode = "1920x1080";
|
||||
position = "3840x0";
|
||||
rate = "60";
|
||||
gamma = "1";
|
||||
};
|
||||
DP-1-2 = {
|
||||
enable = true;
|
||||
mode = "1920x1080";
|
||||
position = "5760x0";
|
||||
rate = "60";
|
||||
gamma = "1";
|
||||
};
|
||||
};
|
||||
hooks.postswitch = set_dpi dpi_hd;
|
||||
};
|
||||
in {
|
||||
enable = true;
|
||||
|
||||
hooks.postswitch = {
|
||||
"reload_wm" = "herbstclient reload";
|
||||
};
|
||||
|
||||
profiles.AStA_links = asta_conf {
|
||||
# AStA linker arbeitsplatz linker Monitor
|
||||
DP-1-1 = "00ffffffffffff000472ed0688687101111e010380351e782aa135a35b4fa327115054b30c00714f818081c081009500b300d1c001012a4480a070382740082098040f282100001a023a801871382d40582c45000f282100001e000000fd00304b1e5512000a202020202020000000fc00423234375920430a202020202001cf020327f14b9002030411121300001f01230907078301000065030c001000681a00000101304be6023a801871382d40582c45000f282100001e8c0ad08a20e02d10103e96000f2821000018011d007251d01e206e2855000f282100001e8c0ad090204031200c4055000f282100001800000000000000000000000000000000d0";
|
||||
# AStA linker arbeitsplatz rechter Monitor
|
||||
DP-1-2 = "00ffffffffffff000472ed0682687101111e010380351e782aa135a35b4fa327115054b30c00714f818081c081009500b300d1c001012a4480a070382740082098040f282100001a023a801871382d40582c45000f282100001e000000fd00304b1e5512000a202020202020000000fc00423234375920430a202020202001d5020327f14b9002030411121300001f01230907078301000065030c001000681a00000101304be6023a801871382d40582c45000f282100001e8c0ad08a20e02d10103e96000f2821000018011d007251d01e206e2855000f282100001e8c0ad090204031200c4055000f282100001800000000000000000000000000000000d0";
|
||||
};
|
||||
profiles.AStA_rechts = asta_conf {
|
||||
# AStA rechter arbeitsplatz linker Monitor
|
||||
DP-1-1 = "00ffffffffffff000472ed068d687101111e010380351e782aa135a35b4fa327115054b30c00714f818081c081009500b300d1c001012a4480a070382740082098040f282100001a023a801871382d40582c45000f282100001e000000fd00304b1e5512000a202020202020000000fc00423234375920430a202020202001ca020327f14b9002030411121300001f01230907078301000065030c001000681a00000101304be6023a801871382d40582c45000f282100001e8c0ad08a20e02d10103e96000f2821000018011d007251d01e206e2855000f282100001e8c0ad090204031200c4055000f282100001800000000000000000000000000000000d0";
|
||||
# AStA rechter arbeitsplatz rechter Monitor
|
||||
DP-1-2 = "00ffffffffffff000472ed0680687101111e010380351e782aa135a35b4fa327115054b30c00714f818081c081009500b300d1c001012a4480a070382740082098040f282100001a023a801871382d40582c45000f282100001e000000fd00304b1e5512000a202020202020000000fc00423234375920430a202020202001d7020327f14b9002030411121300001f01230907078301000065030c001000681a00000101304be6023a801871382d40582c45000f282100001e8c0ad08a20e02d10103e96000f2821000018011d007251d01e206e2855000f282100001e8c0ad090204031200c4055000f282100001800000000000000000000000000000000d0";
|
||||
};
|
||||
profiles = {
|
||||
laptop = {
|
||||
fingerprint = {
|
||||
inherit eDP-1;
|
||||
};
|
||||
config = {
|
||||
eDP-1 = {
|
||||
enable = true;
|
||||
primary = true;
|
||||
mode = "3840x2160";
|
||||
position = "0x0";
|
||||
gamma = "1";
|
||||
};
|
||||
};
|
||||
hooks.postswitch = set_dpi dpi_uhd;
|
||||
};
|
||||
home_laptop = {
|
||||
fingerprint = {
|
||||
inherit eDP-1;
|
||||
# Acer Predator Main Monitor
|
||||
DP-1 = "00ffffffffffff00047290046bd08073261b0103803c227806ee91a3544c99260f505421080001010101010101010101010101010101565e00a0a0a029503020350056502100001a000000ff0023415350377974452f36413764000000fd001e9022de3b000a202020202020000000fc00584232373148550a202020202001750203204143030201230907018301000067030c001000007867d85dc40178c8005aa000a0a0a046503020350056502100001a6fc200a0a0a055503020350056502100001a6be600a0a0a0425030203a0056502100001e5a8700a0a0a03b503020350056502100001a1c2500a0a0a011503020350056502100001a00000000003c";
|
||||
};
|
||||
config = {
|
||||
eDP-1 = {
|
||||
enable = true;
|
||||
primary = true;
|
||||
mode = "3840x2160";
|
||||
position = "2560x0";
|
||||
gamma = "1";
|
||||
};
|
||||
DP-1 = {
|
||||
enable = true;
|
||||
mode = "2560x1440";
|
||||
position = "0x0";
|
||||
rate = "144";
|
||||
gamma = "1";
|
||||
};
|
||||
};
|
||||
hooks.postswitch = set_dpi dpi_hd;
|
||||
};
|
||||
home_desktop = {
|
||||
fingerprint = {
|
||||
# Acer Predator Main Monitor
|
||||
DP-4 = "00ffffffffffff00047290046bd08073261b0103803c227806ee91a3544c99260f505421080001010101010101010101010101010101565e00a0a0a029503020350056502100001a000000ff0023415350377974452f36413764000000fd001e9022de3b000a202020202020000000fc00584232373148550a202020202001750203204143030201230907018301000067030c001000007867d85dc40178c8005aa000a0a0a046503020350056502100001a6fc200a0a0a055503020350056502100001a6be600a0a0a0425030203a0056502100001e5a8700a0a0a03b503020350056502100001a1c2500a0a0a011503020350056502100001a00000000003c";
|
||||
DVI-D-0 = "00ffffffffffff004162850302ae60342e17010380301b78ca3935a25952a1270c5054bfef80714f8140818081c081009500b300d1c0023a801871382d40582c4500dd0c1100001e000000fd00384c1f5311000a202020202020000000fc00566973656f32323344580a2020000000ff004432524545303035383531300a00ed";
|
||||
HDMI-0 = "00ffffffffffff004c2d200d594d5a5a1c1a010380341d782a9315a655519c27115054bfef80714f81c0810081809500a9c0b3000101023a801871382d40582c450009252100001e000000fd00324b1e5111000a202020202020000000fc00533234463335300a2020202020000000ff0048345a483730383333310a202001ca020311b14690041f13120365030c001000011d00bc52d01e20b828554009252100001e8c0ad090204031200c4055000925210000188c0ad08a20e02d10103e9600092521000018000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000051";
|
||||
};
|
||||
config = {
|
||||
DP-4 = {
|
||||
enable = true;
|
||||
primary = true;
|
||||
mode = "2560x1440";
|
||||
position = "1920x720";
|
||||
gamma = "1";
|
||||
rate = "144";
|
||||
};
|
||||
DVI-D-0 = {
|
||||
mode = "1920x1080";
|
||||
position = "0x0";
|
||||
rate = "60.00";
|
||||
};
|
||||
HDMI-0 = {
|
||||
mode = "1920x1080";
|
||||
position = "0x1080";
|
||||
rate = "60.00";
|
||||
};
|
||||
};
|
||||
hooks.postswitch = set_dpi dpi_hd;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
8
users/common/graphical/Xorg/default.nix
Normal file
8
users/common/graphical/Xorg/default.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
imports = [
|
||||
./herbstluft.nix
|
||||
./rofi.nix
|
||||
./polybar.nix
|
||||
./autorandr.nix
|
||||
];
|
||||
}
|
92
users/common/graphical/Xorg/herbst-keys.nix
Normal file
92
users/common/graphical/Xorg/herbst-keys.nix
Normal file
|
@ -0,0 +1,92 @@
|
|||
MOD: TAGS: pkgs:
|
||||
{
|
||||
# ${MOD} will be set to the main modifier key
|
||||
|
||||
# General
|
||||
"${MOD}-q" = " close";
|
||||
|
||||
# Moving
|
||||
"${MOD}-Shift-Left" = " shift left";
|
||||
"${MOD}-Shift-Down" = " shift down";
|
||||
"${MOD}-Shift-Up" = " shift up";
|
||||
"${MOD}-Shift-Right" = " shift right";
|
||||
|
||||
"${MOD}-Shift-n" = " shift left";
|
||||
"${MOD}-Shift-r" = " shift down";
|
||||
"${MOD}-Shift-l" = " shift up";
|
||||
"${MOD}-Shift-s" = " shift right";
|
||||
|
||||
# Resizing
|
||||
"${MOD}-Control-Left" = " resize left +$RESIZE_STEP";
|
||||
"${MOD}-Control-Down" = " resize down +$RESIZE_STEP";
|
||||
"${MOD}-Control-Up" = " resize up +$RESIZE_STEP";
|
||||
"${MOD}-Control-Right" = " resize right +$RESIZE_STEP";
|
||||
|
||||
"${MOD}-Control-n" = " resize left +$RESIZE_STEP";
|
||||
"${MOD}-Control-r" = " resize down +$RESIZE_STEP";
|
||||
"${MOD}-Control-l" = " resize up +$RESIZE_STEP";
|
||||
"${MOD}-Control-s" = " resize right +$RESIZE_STEP";
|
||||
|
||||
"${MOD}-Shift-Control-Left" = " resize right -$RESIZE_STEP";
|
||||
"${MOD}-Shift-Control-Down" = " resize up -$RESIZE_STEP";
|
||||
"${MOD}-Shift-Control-Up" = " resize down -$RESIZE_STEP";
|
||||
"${MOD}-Shift-Control-Right" = " resize left -$RESIZE_STEP";
|
||||
|
||||
"${MOD}-Shift-Control-s" = " resize right -$RESIZE_STEP";
|
||||
"${MOD}-Shift-Control-l" = " resize up -$RESIZE_STEP";
|
||||
"${MOD}-Shift-Control-r" = " resize down -$RESIZE_STEP";
|
||||
"${MOD}-Shift-Control-n" = " resize left -$RESIZE_STEP";
|
||||
|
||||
# Focusing
|
||||
"${MOD}-Left" = " focus left";
|
||||
"${MOD}-Down" = " focus down";
|
||||
"${MOD}-Up" = " focus up";
|
||||
"${MOD}-Right" = " focus right";
|
||||
# Focusing
|
||||
"${MOD}-n" = " focus left";
|
||||
"${MOD}-r" = " focus down";
|
||||
"${MOD}-l" = " focus up";
|
||||
"${MOD}-s" = " focus right";
|
||||
"Alt-Tab" = " cycle_all +1";
|
||||
"Alt-Shift-Tab" = " cycle_all -1";
|
||||
|
||||
"${MOD}-BackSpace" = " cycle_monitor";
|
||||
"${MOD}-c" = " cycle";
|
||||
"${MOD}-i" = " jumpto urgent";
|
||||
"${MOD}-Tab" = " cycle_all +1";
|
||||
"${MOD}-Shift-Tab" = " cycle_all -1";
|
||||
|
||||
# Tag cycle
|
||||
"${MOD}-period" = " use_index +1 ";
|
||||
"${MOD}-comma" = " use_index -1 ";
|
||||
|
||||
# Splitting frames
|
||||
"${MOD}-x" = " split bottom";
|
||||
"${MOD}-v" = " split right";
|
||||
"${MOD}-Control-space" = " split explode";
|
||||
|
||||
# Layouting
|
||||
"${MOD}-Return" = " fullscreen toggle";
|
||||
"${MOD}-Shift-x" = " remove";
|
||||
"${MOD}-Shift-v" = " remove";
|
||||
"${MOD}-f" = " floating toggle";
|
||||
"${MOD}-p" = " pseudotile toggle";
|
||||
"${MOD}-space" = " cycle_layout +1";
|
||||
"${MOD}-Shift-space" = " cycle_layout -1";
|
||||
|
||||
"${MOD}-t " = "spawn kitty";
|
||||
"${MOD}-b " = "pawn ${pkgs.firefox}/bin/firefox";
|
||||
"${MOD}-m " = "spawn ${pkgs.thunderbird}/bin/thunderbird";
|
||||
"${MOD}-Shift-l " = "spawn systemctl suspend";
|
||||
"Menu" = "spawn rofi -show drun";
|
||||
}
|
||||
// builtins.listToAttrs (map (x: {
|
||||
name = "${MOD}-${x}";
|
||||
value = "use_index ${x}";
|
||||
})
|
||||
TAGS)
|
||||
// builtins.listToAttrs (map (x: {
|
||||
name = "${MOD}-Shift-${x}";
|
||||
value = "move_index ${x}";
|
||||
})
|
||||
TAGS)
|
84
users/common/graphical/Xorg/herbstluft.nix
Normal file
84
users/common/graphical/Xorg/herbstluft.nix
Normal file
|
@ -0,0 +1,84 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
# set the modifier key to WIN
|
||||
MOD = "Super";
|
||||
#set the default resize step for herbstluft
|
||||
RESIZE_STEP = 0.05;
|
||||
TAGS = map toString (lib.lists.range 1 9);
|
||||
in {
|
||||
home.file.".xinitrc".source = ./xinitrc;
|
||||
xsession.windowManager.herbstluftwm = {
|
||||
enable = true;
|
||||
package = pkgs.herbstluftwm.overrideAttrs (finalAttrs: previousAttrs: {
|
||||
doCheck = false;
|
||||
});
|
||||
extraConfig = ''
|
||||
herbstclient set auto_detect_monitors 1
|
||||
killall polybar
|
||||
polybar &
|
||||
|
||||
herbstclient attr theme.tiling.reset 1
|
||||
herbstclient attr theme.floating.reset 1
|
||||
herbstclient attr theme.active.color "#9fbc00"
|
||||
herbstclient attr theme.normal.color "#454545"
|
||||
herbstclient attr theme.urgent.color orange
|
||||
herbstclient attr theme.inner_width 1
|
||||
herbstclient attr theme.inner_color black
|
||||
herbstclient attr theme.border_width 3
|
||||
herbstclient attr theme.floating.border_width 4
|
||||
herbstclient attr theme.floating.outer_width 1
|
||||
herbstclient attr theme.floating.outer_color black
|
||||
herbstclient attr theme.active.inner_color "#3E4A00"
|
||||
herbstclient attr theme.active.outer_color "#3E4A00"
|
||||
herbstclient attr theme.background_color "#141414"
|
||||
'';
|
||||
|
||||
tags = TAGS;
|
||||
|
||||
mousebinds = {
|
||||
"${MOD}-Button1" = "move";
|
||||
"${MOD}-Button2" = "zoom";
|
||||
"${MOD}-Button3" = "resize";
|
||||
};
|
||||
|
||||
keybinds = import ./herbst-keys.nix MOD TAGS pkgs;
|
||||
settings = {
|
||||
"default_frame_layout" = 3;
|
||||
|
||||
"frame_border_active_color" = "#222222";
|
||||
"frame_border_normal_color" = "#101010";
|
||||
"frame_bg_normal_color" = "#565656";
|
||||
"frame_bg_active_color" = "#345F0C";
|
||||
"frame_border_width" = 1;
|
||||
"always_show_frame" = 1;
|
||||
"frame_bg_transparent" = 1;
|
||||
"frame_transparent_width" = 5;
|
||||
"frame_gap" = 4;
|
||||
|
||||
"window_gap" = 0;
|
||||
"frame_padding" = 0;
|
||||
"smart_window_surroundings" = 0;
|
||||
"smart_frame_surroundings" = 1;
|
||||
"mouse_recenter_gap" = 0;
|
||||
|
||||
"tree_style" = "╾│ ├└╼─┐";
|
||||
};
|
||||
rules = [
|
||||
# Focus new clients by default
|
||||
"focus=on"
|
||||
|
||||
# Focus dialogs
|
||||
"windowtype='_NET_WM_WINDOW_TYPE_DIALOG' focus=on"
|
||||
|
||||
# Do not manage windows of type NOTIFICATION, DOCK, DESKTOP
|
||||
"windowtype~'_NET_WM_WINDOW_TYPE_(NOTIFICATION|DOCK|DESKTOP)' manage=off"
|
||||
|
||||
# Use pseudotiles for windows of type DIALOG, UTILITY, SPLASH
|
||||
"windowtype~'_NET_WM_WINDOW_TYPE_(DIALOG|UTILITY|SPLASH)' pseudotile=on"
|
||||
];
|
||||
};
|
||||
}
|
368
users/common/graphical/Xorg/polybar.nix
Normal file
368
users/common/graphical/Xorg/polybar.nix
Normal file
|
@ -0,0 +1,368 @@
|
|||
# Polybar config
|
||||
# Polybar is kinda weird in two regards:
|
||||
# 1. polybar allows a superkey and subkey to both have values eg:
|
||||
# a = "lel"
|
||||
# a.b = "lul"
|
||||
# since nix does not allow this you have to hardcode the key with a '-'
|
||||
# instead of using actual nix subkeys witt '.' eg:
|
||||
# a = "lel"
|
||||
# a-b = "lul"
|
||||
# 2. polybar allows integer keys. In nix these have to be quoted
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
nixosConfig,
|
||||
...
|
||||
}: let
|
||||
color = {
|
||||
shade1 = "#311B92";
|
||||
shade2 = "#4527A0";
|
||||
shade3 = "#512DA8";
|
||||
shade4 = "#5E35B1";
|
||||
shade5 = "#673AB7";
|
||||
shade6 = "#7E57C2";
|
||||
shade7 = "#9575CD";
|
||||
shade8 = "#B39DDB";
|
||||
|
||||
bground = "#1D1F28";
|
||||
fground = "#f7f7f7";
|
||||
borderbg = "#f7f7f7";
|
||||
accent = "#5E35B1";
|
||||
modulefg = "#f7f7f7";
|
||||
modulefg-alt = "#f7f7f7";
|
||||
|
||||
trans = "#00000000";
|
||||
white = "#FFFFFF";
|
||||
black = "#000000";
|
||||
|
||||
# Material Colors
|
||||
red = "#e53935";
|
||||
pink = "#d81b60";
|
||||
purple = "#8e24aa";
|
||||
deep-purple = "#5e35b1";
|
||||
indigo = "#3949ab";
|
||||
blue = "#1e88e5";
|
||||
light-blue = "#039be5";
|
||||
cyan = "#00acc1";
|
||||
teal = "#00897b";
|
||||
green = "#43a047";
|
||||
light-green = "#7cb342";
|
||||
lime = "#c0ca33";
|
||||
yellow = "#fdd835";
|
||||
amber = "#ffb300";
|
||||
orange = "#fb8c00";
|
||||
deep-orange = "#f4511e";
|
||||
brown = "#6d4c41";
|
||||
grey = "#757575";
|
||||
blue-gray = "#546e7a";
|
||||
};
|
||||
|
||||
fontsize = "9";
|
||||
in {
|
||||
services.polybar = {
|
||||
enable = true;
|
||||
|
||||
package = pkgs.polybar.override {
|
||||
pulseSupport = true;
|
||||
alsaSupport = true;
|
||||
iwSupport = true;
|
||||
};
|
||||
|
||||
script = "polybar main @";
|
||||
settings = {
|
||||
"bar/main" =
|
||||
{
|
||||
bottom = true;
|
||||
offset.x = "0%";
|
||||
offset.y = "0%";
|
||||
|
||||
background = color.bground;
|
||||
foreground = color.fground;
|
||||
|
||||
font = {
|
||||
"0" = "FiraCode Nerd Font Mono:style=Medium:size=${fontsize};2";
|
||||
"1" = "";
|
||||
"2" = "Iosevka Nerd Font:style=Medium:size=12;2";
|
||||
"3" = "Font Awesome 5 Pro:style=Solid:size=${fontsize}";
|
||||
"4" = "FontAwesome:style=Regular:size=${fontsize};2";
|
||||
"5" = "Font Awesome 5 Pro:style=Light:size=${fontsize}";
|
||||
};
|
||||
|
||||
modules = with lib; {
|
||||
left = concatStringsSep " " ["left1" "title" "left2"];
|
||||
center = concatStringsSep " " ["workspaces"];
|
||||
right = concatStringsSep " " ["right5" "alsa" "right4" "battery" "right3" "network" "right2" "date" "right1" "keyboardswitcher"];
|
||||
};
|
||||
|
||||
tray = {
|
||||
position = "right";
|
||||
background = color.shade1;
|
||||
};
|
||||
|
||||
enable.ipc = true;
|
||||
}
|
||||
// {
|
||||
desktopnix = {
|
||||
monitor = "DP-4";
|
||||
# for HD Polybar
|
||||
dpi = 96;
|
||||
height = 22;
|
||||
};
|
||||
patricknix = {
|
||||
monitor = "DP-1";
|
||||
monitor-fallback = "eDP-1";
|
||||
# for UHD Polybar
|
||||
dpi = 144;
|
||||
height = 33;
|
||||
};
|
||||
}
|
||||
.${nixosConfig.node.name}
|
||||
or {};
|
||||
|
||||
# Functional MODULES
|
||||
|
||||
"module/title" = {
|
||||
type = "internal/xwindow";
|
||||
|
||||
format = "<label>";
|
||||
format-background = color.shade2;
|
||||
format-foreground = color.modulefg;
|
||||
format-padding = "1";
|
||||
|
||||
label = "%title%";
|
||||
label-maxlen = "30";
|
||||
|
||||
label-empty = "NixOS";
|
||||
label-empty-foreground = "#707880";
|
||||
};
|
||||
|
||||
"module/workspaces" = {
|
||||
type = "internal/xworkspaces";
|
||||
|
||||
pin.workspaces = "false";
|
||||
enable.click = "true";
|
||||
enable.scroll = "false";
|
||||
|
||||
label.active = "%{T1}%{T-}";
|
||||
label.occupied = "%{T1}%{T-}";
|
||||
label.urgent = "%{T1}%{T-}";
|
||||
label.empty = "%{T1}%{T-}";
|
||||
|
||||
format = "<label-state>";
|
||||
|
||||
label.monitor = "%name%";
|
||||
label.active-foreground = color.accent;
|
||||
label.occupied-foreground = color.yellow;
|
||||
label.urgent-foreground = color.red;
|
||||
label.empty-foreground = color.modulefg-alt;
|
||||
|
||||
label.active-padding = "1";
|
||||
label.urgent-padding = "1";
|
||||
label.occupied-padding = "1";
|
||||
label.empty-padding = "1";
|
||||
};
|
||||
|
||||
"module/alsa" = {
|
||||
type = "internal/pulseaudio";
|
||||
|
||||
format.volume = "<ramp-volume> <label-volume>";
|
||||
format.volume-background = color.shade5;
|
||||
format.volume-foreground = color.modulefg;
|
||||
format.volume-padding = "1";
|
||||
|
||||
label.volume = "%percentage%%";
|
||||
|
||||
format.muted.prefix = "%{T1}婢%{T-}";
|
||||
label.muted = " Mute";
|
||||
format.muted.background = color.shade5;
|
||||
format.muted.foreground = color.modulefg;
|
||||
format.muted.padding = "1";
|
||||
|
||||
ramp.volume."0" = "%{T1}奄%{T-}";
|
||||
ramp.volume."1" = "%{T1}奔%{T-}";
|
||||
ramp.volume."2" = "%{T1}墳%{T-}";
|
||||
};
|
||||
|
||||
"module/battery" = {
|
||||
type = "internal/battery";
|
||||
|
||||
full.at = "99";
|
||||
|
||||
battery = "BAT0";
|
||||
adapter = "ADP1";
|
||||
|
||||
poll.interval = "2";
|
||||
time.format = "%H:%M";
|
||||
|
||||
format.charging = "<animation-charging> <label-charging>";
|
||||
format.charging-background = color.shade4;
|
||||
format.charging-foreground = color.modulefg;
|
||||
format.charging-padding = "1";
|
||||
|
||||
format.discharging = "<ramp-capacity> <label-discharging>";
|
||||
format.discharging-background = color.shade4;
|
||||
format.discharging-foreground = color.modulefg;
|
||||
format.discharging-padding = "1";
|
||||
|
||||
label.charging = "%percentage%%";
|
||||
label.discharging = "%percentage%%";
|
||||
|
||||
label.full = "Fully Charged";
|
||||
label.full-background = color.shade4;
|
||||
label.full-foreground = color.modulefg;
|
||||
label.full-padding = "1";
|
||||
|
||||
# Capacity ramp
|
||||
ramp.capacity.font = "5";
|
||||
ramp.capacity."0" = " %{T1}warning%{T-} ";
|
||||
ramp.capacity."0-foreground" = "#000000";
|
||||
ramp.capacity."0-background" = "#df2c00";
|
||||
ramp.capacity."1" = "";
|
||||
ramp.capacity."1-foreground" = "#df2c00";
|
||||
ramp.capacity."2" = "";
|
||||
ramp.capacity."2-foreground" = "#df4c00";
|
||||
ramp.capacity."3" = "";
|
||||
ramp.capacity."3-foreground" = "#df8c00";
|
||||
ramp.capacity."4" = "";
|
||||
ramp.capacity."4-foreground" = "#dfcc00";
|
||||
ramp.capacity."5" = "";
|
||||
ramp.capacity."5-foreground" = "#dfcc00";
|
||||
ramp.capacity."6" = "";
|
||||
ramp.capacity."7" = "";
|
||||
ramp.capacity."8" = "";
|
||||
ramp.capacity."9" = "";
|
||||
|
||||
animation.charging.font = "5";
|
||||
animation.charging."0" = "";
|
||||
animation.charging."1" = "";
|
||||
animation.charging."2" = "";
|
||||
animation.charging."3" = "";
|
||||
animation.charging."4" = "";
|
||||
animation.charging."5" = "";
|
||||
animation.charging."6" = "";
|
||||
animation.charging."7" = "";
|
||||
animation.charging."8" = "";
|
||||
animation.charging.framerate = "750";
|
||||
};
|
||||
"module/date" = {
|
||||
type = "internal/date";
|
||||
|
||||
interval = "1.0";
|
||||
format = "<label>";
|
||||
format-background = color.shade2;
|
||||
format-foreground = color.modulefg;
|
||||
format-padding = "1";
|
||||
label = "%date% %time%";
|
||||
|
||||
# Alternative date and time format
|
||||
date = "%{T5}%{T-} %a, %d %{F#808080}%b %Y%{F-}";
|
||||
time = "%{T5}%{T-} %H:%M:%S";
|
||||
};
|
||||
|
||||
"module/network" = {
|
||||
type = "internal/network";
|
||||
interface = "wlan0";
|
||||
|
||||
interval = "1.0";
|
||||
accumulate.stats = "true";
|
||||
unknown.as.up = "true";
|
||||
|
||||
format-connected = "<label-connected>";
|
||||
format-connected-background = color.shade3;
|
||||
format-connected-foreground = color.modulefg;
|
||||
format-connected-padding = "1";
|
||||
label.connected = "%{F#808080}%ifname%%{F-} %{F#808080}%upspeed:8% %downspeed:8% %{F-}";
|
||||
|
||||
format.disconnected = "<label-disconnected>";
|
||||
format.disconnected-background = color.shade3;
|
||||
format.disconnected-foreground = color.modulefg;
|
||||
format.disconnected-padding = "1";
|
||||
};
|
||||
|
||||
"module/keyboardswitcher" = {
|
||||
type = "custom/menu";
|
||||
|
||||
expand.right = "true";
|
||||
|
||||
format.background = color.shade1;
|
||||
format.foreground = color.modulefg;
|
||||
|
||||
label.open = "%{T3} %{T-}";
|
||||
label.close = " x ";
|
||||
label.separator = " | ";
|
||||
|
||||
menu."0"."0" = "bone";
|
||||
menu."0"."0-exec" = "/usr/bin/setxkbmap de bone";
|
||||
menu."0"."1" = "neo";
|
||||
menu."0"."1-exec" = "/usr/bin/setxkbmap de neo";
|
||||
menu."0"."2" = "qwertz";
|
||||
menu."0"."2-exec" = "/usr/bin/setxkbmap de";
|
||||
};
|
||||
|
||||
# AESTHETIC MODULES
|
||||
|
||||
"module/left1" = {
|
||||
type = "custom/text";
|
||||
"content-background" = color.shade2;
|
||||
"content-foreground" = color.shade1;
|
||||
content = "%{T3}%{T-}";
|
||||
};
|
||||
|
||||
"module/left2" = {
|
||||
type = "custom/text";
|
||||
"content-background" = color.bground;
|
||||
"content-foreground" = color.shade2;
|
||||
content = "%{T3}%{T-}";
|
||||
};
|
||||
|
||||
"module/right1" = {
|
||||
type = "custom/text";
|
||||
"content-background" = color.shade2;
|
||||
"content-foreground" = color.shade1;
|
||||
content = "%{T3}%{T-}";
|
||||
};
|
||||
|
||||
"module/right2" = {
|
||||
type = "custom/text";
|
||||
"content-background" = color.shade3;
|
||||
"content-foreground" = color.shade2;
|
||||
content = "%{T3}%{T-}";
|
||||
};
|
||||
|
||||
"module/right3" = {
|
||||
type = "custom/text";
|
||||
"content-background" = color.shade4;
|
||||
"content-foreground" = color.shade3;
|
||||
content = "%{T3}%{T-}";
|
||||
};
|
||||
|
||||
"module/right4" = {
|
||||
type = "custom/text";
|
||||
"content-background" = color.shade5;
|
||||
"content-foreground" = color.shade4;
|
||||
content = "%{T3}%{T-}";
|
||||
};
|
||||
|
||||
"module/right5" = {
|
||||
type = "custom/text";
|
||||
"content-background" = color.bground;
|
||||
"content-foreground" = color.shade5;
|
||||
content = "%{T3}%{T-}";
|
||||
};
|
||||
|
||||
"module/right6" = {
|
||||
type = "custom/text";
|
||||
"content-background" = color.shade7;
|
||||
"content-foreground" = color.shade6;
|
||||
content = "%{T3}%{T-}";
|
||||
};
|
||||
|
||||
"module/right7" = {
|
||||
type = "custom/text";
|
||||
"content-background" = color.bground;
|
||||
"content-foreground" = color.shade7;
|
||||
content = "%{T3}%{T-}";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,7 +1,6 @@
|
|||
{pkgs, ...}: {
|
||||
{
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
package = pkgs.rofi-wayland;
|
||||
theme = "DarkBlue";
|
||||
extraConfig = {
|
||||
matching = "fuzzy";
|
24
users/common/graphical/Xorg/xinitrc
Normal file
24
users/common/graphical/Xorg/xinitrc
Normal file
|
@ -0,0 +1,24 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# ~/.xinitrc
|
||||
#
|
||||
# Executed by startx (run your window manager from here)
|
||||
|
||||
xset m 1 0
|
||||
xsetroot -solid '#000000'
|
||||
#
|
||||
xset r rate 235 60
|
||||
|
||||
# copied from nixos wiki
|
||||
# https://nixos.wiki/wiki/Using_X_without_a_Display_Manager
|
||||
if test -z "$DBUS_SESSION_BUS_ADDRESS"; then
|
||||
eval $(dbus-launch --exit-with-session --sh-syntax)
|
||||
fi
|
||||
systemctl --user import-environment DISPLAY XAUTHORITY
|
||||
|
||||
if command -v dbus-update-activation-environment >/dev/null 2>&1; then
|
||||
dbus-update-activation-environment DISPLAY XAUTHORITY
|
||||
fi
|
||||
|
||||
autorandr -c
|
||||
exec herbstluftwm --locked
|
|
@ -1,8 +1,8 @@
|
|||
{pkgs, ...}: {
|
||||
imports = [
|
||||
./kitty.nix
|
||||
./sway
|
||||
./fuzzel.nix
|
||||
./wayland
|
||||
./Xorg
|
||||
./firefox.nix
|
||||
];
|
||||
home = {
|
||||
|
|
6
users/common/graphical/wayland/default.nix
Normal file
6
users/common/graphical/wayland/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
imports = [
|
||||
./fuzzel.nix
|
||||
./sway.nix
|
||||
];
|
||||
}
|
12
users/common/programs/bottles.nix
Normal file
12
users/common/programs/bottles.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
bottles
|
||||
winetricks
|
||||
wineWowPackages.fonts
|
||||
wineWowPackages.stagingFull
|
||||
];
|
||||
}
|
|
@ -95,17 +95,18 @@ return {
|
|||
"ray-x/lsp_signature.nvim",
|
||||
config = true,
|
||||
},
|
||||
{
|
||||
"tzachar/cmp-tabnine",
|
||||
build = "./install.sh",
|
||||
},
|
||||
-- tabnine opens login window on boot
|
||||
-- {
|
||||
-- "tzachar/cmp-tabnine",
|
||||
-- build = "./install.sh",
|
||||
-- },
|
||||
},
|
||||
config = function()
|
||||
local cmp = require("cmp")
|
||||
cmp.setup({
|
||||
sources = {
|
||||
{ name = "luasnip" },
|
||||
{ name = "cmp_tabnine" },
|
||||
--{ name = "cmp_tabnine" },
|
||||
{ name = "nvim_lsp_signature_help" },
|
||||
{ name = "nvim_lsp" },
|
||||
{ name = "buffer" },
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
# enable nixos wide wayland config
|
||||
imports = [
|
||||
../../modules/graphical/wayland.nix
|
||||
../../modules/graphical/xserver.nix
|
||||
../../modules/graphical/steam.nix
|
||||
./impermanence.nix
|
||||
];
|
||||
|
@ -26,6 +27,7 @@
|
|||
gnome3.adwaita-icon-theme
|
||||
];
|
||||
age.secrets.smb-creds.rekeyFile = ../../secrets/smb.cred.age;
|
||||
programs.dconf.enable = true;
|
||||
|
||||
home-manager.users.patrick = {
|
||||
imports = [
|
||||
|
|
|
@ -12,8 +12,10 @@
|
|||
# for electron signal app state
|
||||
".config/Signal"
|
||||
".config/discord"
|
||||
|
||||
# persist sound config
|
||||
".local/state/wireplumber"
|
||||
|
||||
# Folders for steam
|
||||
".local/share/Steam"
|
||||
".steam"
|
||||
|
@ -21,10 +23,11 @@
|
|||
".local/share//Daedalic Entertainment GmbH/"
|
||||
# Nvidia shader cache
|
||||
".cache/nvidia"
|
||||
# lutris cache
|
||||
".local/share/lutris"
|
||||
# lutric games
|
||||
"Games"
|
||||
# Vulkan shader cache
|
||||
".local/share/vulkan"
|
||||
|
||||
# bottles state games
|
||||
".local/share/bottles"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
|
@ -3,9 +3,7 @@
|
|||
packages = with pkgs; [
|
||||
nextcloud-client
|
||||
discord
|
||||
lutris
|
||||
wine-wayland
|
||||
winetricks
|
||||
netflix
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue