feat: switched back to X

This commit is contained in:
Patrick 2023-09-13 17:40:57 +02:00
parent e18f3b4397
commit 555cedf9b6
Signed by: patrick
GPG key ID: 451F95EFB8BECD0F
17 changed files with 768 additions and 16 deletions

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

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

View file

@ -0,0 +1,8 @@
{
imports = [
./herbstluft.nix
./rofi.nix
./polybar.nix
./autorandr.nix
];
}

View 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)

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

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

View file

@ -1,7 +1,6 @@
{pkgs, ...}: {
{
programs.rofi = {
enable = true;
package = pkgs.rofi-wayland;
theme = "DarkBlue";
extraConfig = {
matching = "fuzzy";

View 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

View file

@ -1,8 +1,8 @@
{pkgs, ...}: {
imports = [
./kitty.nix
./sway
./fuzzel.nix
./wayland
./Xorg
./firefox.nix
];
home = {

View file

@ -0,0 +1,6 @@
{
imports = [
./fuzzel.nix
./sway.nix
];
}

View file

@ -0,0 +1,12 @@
{
pkgs,
lib,
...
}: {
home.packages = with pkgs; [
bottles
winetricks
wineWowPackages.fonts
wineWowPackages.stagingFull
];
}

View file

@ -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" },

View file

@ -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 = [

View file

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

View file

@ -3,9 +3,7 @@
packages = with pkgs; [
nextcloud-client
discord
lutris
wine-wayland
winetricks
netflix
];
};
}