diff --git a/modules/graphical.nix b/modules/graphical.nix index 2ee6d9d..3114128 100644 --- a/modules/graphical.nix +++ b/modules/graphical.nix @@ -69,6 +69,7 @@ with lib; { environment.systemPackages = with pkgs; [ firefox thunderbird # v102 has various starting time issues - so back to stable + ungoogled-chromium okular texlive.combined.scheme-full usbutils diff --git a/modules/sway.nix b/modules/sway.nix index 2a10a6d..91e5825 100644 --- a/modules/sway.nix +++ b/modules/sway.nix @@ -71,6 +71,7 @@ with lib; { environment.systemPackages = with pkgs; [ gnome3.adwaita-icon-theme wl-clipboard + wl-mirror networkmanagerapplet pavucontrol pamixer diff --git a/users/ellmau/autorandr.nix b/users/ellmau/autorandr.nix index 0a7a80c..4b927df 100644 --- a/users/ellmau/autorandr.nix +++ b/users/ellmau/autorandr.nix @@ -1,120 +1,127 @@ -{ config, pkgs, lib, ...}: -{ - programs.autorandr = { - enable = true; - profiles = { - "home" = { - fingerprint = { - DP-1 = "00ffffffffffff0009d1507945540000221e0104b54627783f5995af4f42af260f5054a56b80d1c0b300a9c08180810081c0010101014dd000a0f0703e8030203500ba892100001a000000ff004e384c30323634373031390a20000000fd00283c87873c010a202020202020000000fc0042656e5120455733323730550a01bc02033af1515d5e5f6061101f222120051404131203012309070783010000e200c06d030c0020003878200060010203e305e001e6060501544c2ca36600a0f0701f8030203500ba892100001a565e00a0a0a029502f203500ba892100001abf650050a0402e6008200808ba892100001c000000000000000000000000000000bf"; - eDP-1 = "00ffffffffffff0006af2b2800000000001c0104a51d117802ee95a3544c99260f50540000000101010101010101010101010101010152d000a0f0703e803020350025a51000001a000000000000000000000000000000000000000000fe0039304e544880423133335a414e0000000000024103a8011100000b010a20200006"; - }; - config = { - eDP-1.enable = false; - DP-1 = { - enable = true; - crtc = 1; - primary = true; - position = "0x0"; - mode = "3840x2160"; - dpi = 96; - }; - }; - }; - "mobile" = { - fingerprint.eDP-1 = "00ffffffffffff0006af2b2800000000001c0104a51d117802ee95a3544c99260f50540000000101010101010101010101010101010152d000a0f0703e803020350025a51000001a000000000000000000000000000000000000000000fe0039304e544880423133335a414e0000000000024103a8011100000b010a20200006"; - config = { - eDP-1 = { - enable = true; - primary = true; - mode = "3840x2160"; - dpi = 192; - }; - }; - }; - "work" = { - fingerprint = { - eDP-1 = "00ffffffffffff0006af2b2800000000001c0104a51d117802ee95a3544c99260f50540000000101010101010101010101010101010152d000a0f0703e803020350025a51000001a000000000000000000000000000000000000000000fe0039304e544880423133335a414e0000000000024103a8011100000b010a20200006"; - DP-2 = "00ffffffffffff0010acb5414c4133452c1e0104b53c22783eee95a3544c99260f5054a54b00e1c0d100d1c0b300a94081808100714f4dd000a0f0703e803020350055502100001a000000ff0031444e593132330a2020202020000000fd00184b1e8c36010a202020202020000000fc0044454c4c205532373230510a2001af020319f14c101f2005140413121103020123097f0783010000a36600a0f0703e803020350055502100001a565e00a0a0a029503020350055502100001a114400a0800025503020360055502100001a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d9"; - }; - config = { - eDP-1 = { - enable = true; - crtc = 0; - position = "3840x0"; - mode = "3840x2160"; - #dpi = 288; - dpi = 96; - }; - DP-2 = { - enable = true; - primary = true; - mode = "3840x2160"; - #dpi = 144; - dpi = 96; - position = "0x0"; - }; - }; - }; - "home-nuc" = { - fingerprint = { - DP-2 = "00ffffffffffff0009d1507945540000221e0104b54627783f5995af4f42af260f5054a56b80d1c0b300a9c08180810081c0010101014dd000a0f0703e8030203500ba892100001a000000ff004e384c30323634373031390a20000000fd00283c87873c010a202020202020000000fc0042656e5120455733323730550a01bc02033af1515d5e5f6061101f222120051404131203012309070783010000e200c06d030c0020003878200060010203e305e001e6060501544c2ca36600a0f0701f8030203500ba892100001a565e00a0a0a029502f203500ba892100001abf650050a0402e6008200808ba892100001c000000000000000000000000000000bf"; - }; - config = { - DP-2 = { - enable = true; - crtc = 1; - primary = true; - position = "0x0"; - mode = "3840x2160"; - dpi = 96; - }; - }; - }; +{ config, pkgs, lib, nixosConfig, ... }: +with lib; { + config = + let + cfg = nixosConfig.elss.graphical.i3; + in + mkIf cfg.enable { - "e3027" = { - fingerprint = { - e-DP1 = "00ffffffffffff0006af2b2800000000001c0104a51d117802ee95a3544c99260f50540000000101010101010101010101010101010152d000a0f0703e803020350025a51000001a000000000000000000000000000000000000000000fe0039304e544880423133335a414e0000000000024103a8011100000b010a20200006"; - DP-1 = "00ffffffffffff004ca306a7010101011715010380a05a780ade50a3544c99260f5054a10800814081c0950081809040b300a9400101283c80a070b023403020360040846300001a9e20009051201f304880360040846300001c000000fd0017550f5c11000a202020202020000000fc004550534f4e20504a0a202020200116020328f651901f202205140413030212110706161501230907078301000066030c00100080e200fd023a801871382d40582c450040846300001e011d801871382d40582c450040846300001e662156aa51001e30468f330040846300001e302a40c8608464301850130040846300001e00000000000000000000000000000089"; - }; - config = { - eDP-1 = { - enable = true; - crtc = 0; - position = "0x0"; - mode = "3840x2160"; + programs.autorandr = { + enable = true; + profiles = { + "home" = { + fingerprint = { + DP-1 = "00ffffffffffff0009d1507945540000221e0104b54627783f5995af4f42af260f5054a56b80d1c0b300a9c08180810081c0010101014dd000a0f0703e8030203500ba892100001a000000ff004e384c30323634373031390a20000000fd00283c87873c010a202020202020000000fc0042656e5120455733323730550a01bc02033af1515d5e5f6061101f222120051404131203012309070783010000e200c06d030c0020003878200060010203e305e001e6060501544c2ca36600a0f0701f8030203500ba892100001a565e00a0a0a029502f203500ba892100001abf650050a0402e6008200808ba892100001c000000000000000000000000000000bf"; + eDP-1 = "00ffffffffffff0006af2b2800000000001c0104a51d117802ee95a3544c99260f50540000000101010101010101010101010101010152d000a0f0703e803020350025a51000001a000000000000000000000000000000000000000000fe0039304e544880423133335a414e0000000000024103a8011100000b010a20200006"; + }; + config = { + eDP-1.enable = false; + DP-1 = { + enable = true; + crtc = 1; + primary = true; + position = "0x0"; + mode = "3840x2160"; + dpi = 96; + }; + }; }; - DP-1 = { - enable = true; - crtc = 1; - position = "3840x0"; - mode = "1920x1200"; + "mobile" = { + fingerprint.eDP-1 = "00ffffffffffff0006af2b2800000000001c0104a51d117802ee95a3544c99260f50540000000101010101010101010101010101010152d000a0f0703e803020350025a51000001a000000000000000000000000000000000000000000fe0039304e544880423133335a414e0000000000024103a8011100000b010a20200006"; + config = { + eDP-1 = { + enable = true; + primary = true; + mode = "3840x2160"; + dpi = 192; + }; + }; + }; + "work" = { + fingerprint = { + eDP-1 = "00ffffffffffff0006af2b2800000000001c0104a51d117802ee95a3544c99260f50540000000101010101010101010101010101010152d000a0f0703e803020350025a51000001a000000000000000000000000000000000000000000fe0039304e544880423133335a414e0000000000024103a8011100000b010a20200006"; + DP-2 = "00ffffffffffff0010acb5414c4133452c1e0104b53c22783eee95a3544c99260f5054a54b00e1c0d100d1c0b300a94081808100714f4dd000a0f0703e803020350055502100001a000000ff0031444e593132330a2020202020000000fd00184b1e8c36010a202020202020000000fc0044454c4c205532373230510a2001af020319f14c101f2005140413121103020123097f0783010000a36600a0f0703e803020350055502100001a565e00a0a0a029503020350055502100001a114400a0800025503020360055502100001a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d9"; + }; + config = { + eDP-1 = { + enable = true; + crtc = 0; + position = "3840x0"; + mode = "3840x2160"; + #dpi = 288; + dpi = 96; + }; + DP-2 = { + enable = true; + primary = true; + mode = "3840x2160"; + #dpi = 144; + dpi = 96; + position = "0x0"; + }; + }; + }; + "home-nuc" = { + fingerprint = { + DP-2 = "00ffffffffffff0009d1507945540000221e0104b54627783f5995af4f42af260f5054a56b80d1c0b300a9c08180810081c0010101014dd000a0f0703e8030203500ba892100001a000000ff004e384c30323634373031390a20000000fd00283c87873c010a202020202020000000fc0042656e5120455733323730550a01bc02033af1515d5e5f6061101f222120051404131203012309070783010000e200c06d030c0020003878200060010203e305e001e6060501544c2ca36600a0f0701f8030203500ba892100001a565e00a0a0a029502f203500ba892100001abf650050a0402e6008200808ba892100001c000000000000000000000000000000bf"; + }; + config = { + DP-2 = { + enable = true; + crtc = 1; + primary = true; + position = "0x0"; + mode = "3840x2160"; + dpi = 96; + }; + }; }; - }; - }; - "e3027-clone" = { - fingerprint = { - e-DP1 = "00ffffffffffff0006af2b2800000000001c0104a51d117802ee95a3544c99260f50540000000101010101010101010101010101010152d000a0f0703e803020350025a51000001a000000000000000000000000000000000000000000fe0039304e544880423133335a414e0000000000024103a8011100000b010a20200006"; - DP-1 = "00ffffffffffff004ca306a7010101011715010380a05a780ade50a3544c99260f5054a10800814081c0950081809040b300a9400101283c80a070b023403020360040846300001a9e20009051201f304880360040846300001c000000fd0017550f5c11000a202020202020000000fc004550534f4e20504a0a202020200116020328f651901f202205140413030212110706161501230907078301000066030c00100080e200fd023a801871382d40582c450040846300001e011d801871382d40582c450040846300001e662156aa51001e30468f330040846300001e302a40c8608464301850130040846300001e00000000000000000000000000000089"; + "e3027" = { + fingerprint = { + e-DP1 = "00ffffffffffff0006af2b2800000000001c0104a51d117802ee95a3544c99260f50540000000101010101010101010101010101010152d000a0f0703e803020350025a51000001a000000000000000000000000000000000000000000fe0039304e544880423133335a414e0000000000024103a8011100000b010a20200006"; + DP-1 = "00ffffffffffff004ca306a7010101011715010380a05a780ade50a3544c99260f5054a10800814081c0950081809040b300a9400101283c80a070b023403020360040846300001a9e20009051201f304880360040846300001c000000fd0017550f5c11000a202020202020000000fc004550534f4e20504a0a202020200116020328f651901f202205140413030212110706161501230907078301000066030c00100080e200fd023a801871382d40582c450040846300001e011d801871382d40582c450040846300001e662156aa51001e30468f330040846300001e302a40c8608464301850130040846300001e00000000000000000000000000000089"; + }; + config = { + eDP-1 = { + enable = true; + crtc = 0; + position = "0x0"; + mode = "3840x2160"; + }; + DP-1 = { + enable = true; + crtc = 1; + position = "3840x0"; + mode = "1920x1200"; + }; + }; + }; + + "e3027-clone" = { + fingerprint = { + e-DP1 = "00ffffffffffff0006af2b2800000000001c0104a51d117802ee95a3544c99260f50540000000101010101010101010101010101010152d000a0f0703e803020350025a51000001a000000000000000000000000000000000000000000fe0039304e544880423133335a414e0000000000024103a8011100000b010a20200006"; + DP-1 = "00ffffffffffff004ca306a7010101011715010380a05a780ade50a3544c99260f5054a10800814081c0950081809040b300a9400101283c80a070b023403020360040846300001a9e20009051201f304880360040846300001c000000fd0017550f5c11000a202020202020000000fc004550534f4e20504a0a202020200116020328f651901f202205140413030212110706161501230907078301000066030c00100080e200fd023a801871382d40582c450040846300001e011d801871382d40582c450040846300001e662156aa51001e30468f330040846300001e302a40c8608464301850130040846300001e00000000000000000000000000000089"; + }; + config = { + eDP-1 = { + enable = true; + crtc = 0; + position = "0x0"; + mode = "1920x1200"; + }; + DP-1 = { + enable = true; + crtc = 1; + position = "0x0"; + mode = "1920x1200"; + }; + }; + }; }; - config = { - eDP-1 = { - enable = true; - crtc = 0; - position = "0x0"; - mode = "1920x1200"; - }; - DP-1 = { - enable = true; - crtc = 1; - position = "0x0"; - mode = "1920x1200"; - }; + hooks.postswitch = { + "polybar" = "systemctl --user restart polybar.service"; }; }; }; - hooks.postswitch = { - "polybar" = "systemctl --user restart polybar.service"; - }; - }; } diff --git a/users/ellmau/default.nix b/users/ellmau/default.nix index 5c9f27e..64a63c1 100644 --- a/users/ellmau/default.nix +++ b/users/ellmau/default.nix @@ -1,15 +1,15 @@ { config, lib, pkgs, ... }: { imports = [ -# ./autorandr.nix -# ./dunst.nix + ./autorandr.nix + ./dunst.nix ./git.nix ./gpg.nix ./i3.nix ./kanshi.nix ./mako.nix ./nextcloud.nix -# ./polybar.nix + ./polybar.nix ./zsh.nix ./sway.nix diff --git a/users/ellmau/dunst.nix b/users/ellmau/dunst.nix index 259b867..2b0da4e 100644 --- a/users/ellmau/dunst.nix +++ b/users/ellmau/dunst.nix @@ -1,37 +1,43 @@ -{ config, pkgs, ...}: -{ - services.dunst = { - iconTheme = { - package = pkgs.numix-icon-theme; - name = "Numix"; - size = "26"; - }; - settings = { - global = { - geometry = "800x5-30+50"; - transparency = 10; - frame_color = "#839496"; - font = "Hasklug Nerd Font 10"; - timeout = 5; - follow = "mouse"; - markup = "full"; - icon_position = "left"; - history_length = 32; - dmenu = "${pkgs.rofi}/bin/rofi -dmenu"; - word_wrap = true; - }; - urgency_critical = { - foreground = "#fdf6e3"; - background = "#dc322f"; - }; - urgency_normal = { - foreground = "#fdf6e3"; - background = "#859900"; - }; - urgency_low = { - foreground = "#fdf6e3"; - background = "#2aa198"; +{ config, pkgs, lib, nixosConfig, ... }: +with lib; { + config = + let + cfg = nixosConfig.elss.graphical.i3; + in + mkIf cfg.enable { + services.dunst = { + iconTheme = { + package = pkgs.numix-icon-theme; + name = "Numix"; + size = "26"; + }; + settings = { + global = { + geometry = "800x5-30+50"; + transparency = 10; + frame_color = "#839496"; + font = "Hasklug Nerd Font 10"; + timeout = 5; + follow = "mouse"; + markup = "full"; + icon_position = "left"; + history_length = 32; + dmenu = "${pkgs.rofi}/bin/rofi -dmenu"; + word_wrap = true; + }; + urgency_critical = { + foreground = "#fdf6e3"; + background = "#dc322f"; + }; + urgency_normal = { + foreground = "#fdf6e3"; + background = "#859900"; + }; + urgency_low = { + foreground = "#fdf6e3"; + background = "#2aa198"; + }; + }; }; }; - }; } diff --git a/users/ellmau/i3.nix b/users/ellmau/i3.nix index db3a25c..8be6422 100644 --- a/users/ellmau/i3.nix +++ b/users/ellmau/i3.nix @@ -1,9 +1,15 @@ -{ config, pkgs, lib, ...}: -{ - xdg = { - configFile."i3" = { - source = conf/i3; - recursive = true; +{ config, pkgs, lib, nixosConfig, ... }: +with lib; { + config = + let + cfg = nixosConfig.elss.graphical; + in + mkIf cfg.enable { + xdg = { + configFile."i3" = { + source = conf/i3; + recursive = true; + }; + }; }; - }; } diff --git a/users/ellmau/kanshi.nix b/users/ellmau/kanshi.nix index 8441fa3..0059bf5 100644 --- a/users/ellmau/kanshi.nix +++ b/users/ellmau/kanshi.nix @@ -1,27 +1,33 @@ -{ config, pkgs, ...}: -{ - services.kanshi = { - enable = true; - profiles = { - work = { - outputs = [ - { - criteria = "Dell Inc. DELL U2720Q 1DNY123"; - position = "1920,0"; - } - { - criteria = "eDP-1"; - position = "5760,0"; - } - ]; - }; - unplugged = { - outputs = [ - { - criteria = "eDP-1"; - } - ]; +{ config, pkgs, lib, nixosConfig, ... }: +with lib; { + config = + let + cfg = nixosConfig.elss.graphical.sway; + in + mkIf cfg.enable { + services.kanshi = { + enable = true; + profiles = { + work = { + outputs = [ + { + criteria = "Dell Inc. DELL U2720Q 1DNY123"; + position = "1920,0"; + } + { + criteria = "eDP-1"; + position = "5760,0"; + } + ]; + }; + unplugged = { + outputs = [ + { + criteria = "eDP-1"; + } + ]; + }; + }; }; }; - }; } diff --git a/users/ellmau/mako.nix b/users/ellmau/mako.nix index 3d16716..435cc14 100644 --- a/users/ellmau/mako.nix +++ b/users/ellmau/mako.nix @@ -1,14 +1,20 @@ +{ config, pkgs, lib, nixosConfig, ... }: +with lib; { + config = + let + cfg = nixosConfig.elss.graphical.sway; + in + mkIf cfg.enable { -{ config, pkgs, ...}: -{ - programs.mako = { - enable = true; - iconPath = "${pkgs.numix-icon-theme}"; - font = "Hasklug Nerd Font 10"; - defaultTimeout = 8000; - # ignoreTimeout = true; - - }; + programs.mako = { + enable = true; + iconPath = "${pkgs.numix-icon-theme}"; + font = "Hasklug Nerd Font 10"; + defaultTimeout = 8000; + # ignoreTimeout = true; - home.packages = [ pkgs.numix-icon-theme ]; + }; + + home.packages = [ pkgs.numix-icon-theme ]; + }; } diff --git a/users/ellmau/nextcloud.nix b/users/ellmau/nextcloud.nix index 82a7de2..e2271c1 100644 --- a/users/ellmau/nextcloud.nix +++ b/users/ellmau/nextcloud.nix @@ -1,7 +1,13 @@ -{ pkgs, ... }: -{ - services.nextcloud-client = { - enable = true; - startInBackground = true; - }; +{ config, pkgs, lib, nixosConfig, ... }: +with lib; { + config = + let + cfg = nixosConfig.elss.graphical; + in + mkIf cfg.enable { + services.nextcloud-client = { + enable = true; + startInBackground = true; + }; + }; } diff --git a/users/ellmau/polybar.nix b/users/ellmau/polybar.nix index 85fa96b..f7fddb7 100644 --- a/users/ellmau/polybar.nix +++ b/users/ellmau/polybar.nix @@ -1,58 +1,63 @@ -{ config, pkgs, ...}: -{ - services.polybar = { - enable = true; - package = pkgs.polybarFull; - settings = - let - # solarized theme colours ~ https://en.wikipedia.org/wiki/Solarized +{ config, pkgs, lib, nixosConfig, ... }: +with lib; { + config = + let + cfg = nixosConfig.elss.graphical.i3; + in + mkIf cfg.enable { + services.polybar = { + enable = true; + package = pkgs.polybarFull; + settings = + let + # solarized theme colours ~ https://en.wikipedia.org/wiki/Solarized - #content tones - Base01 = "#586e75"; - Base00 = "#657b83"; - Base0 = "#839496"; - Base1 = "#93a1a1"; - # background tones - Base2 = "#eee8d5"; - Base3 = "#fdf6e3"; - # accent tones - Yellow = "#b58900"; - Orange = "#cb4b16"; - Red = "#dc322f"; - Magenta = "#d33682"; - Violet = "#6c71c4"; - Blue = "#268bd2"; - Cyan = "#2aa198"; - Green = "#859900"; + #content tones + Base01 = "#586e75"; + Base00 = "#657b83"; + Base0 = "#839496"; + Base1 = "#93a1a1"; + # background tones + Base2 = "#eee8d5"; + Base3 = "#fdf6e3"; + # accent tones + Yellow = "#b58900"; + Orange = "#cb4b16"; + Red = "#dc322f"; + Magenta = "#d33682"; + Violet = "#6c71c4"; + Blue = "#268bd2"; + Cyan = "#2aa198"; + Green = "#859900"; - foreground_col = Base3; - background_col = Base01; + foreground_col = Base3; + background_col = Base01; - # old bg/fg stuff - #foreground_col = "#eee8d5"; - #background_col = "#6c71c4"; - foreground_altcol = "#66deff"; - primary_col = "#ffb52a"; - secondary_col = "#e60053"; - alert_col = "#dc322f"; + # old bg/fg stuff + #foreground_col = "#eee8d5"; + #background_col = "#6c71c4"; + foreground_altcol = "#66deff"; + primary_col = "#ffb52a"; + secondary_col = "#e60053"; + alert_col = "#dc322f"; - dpi = '' - ''${env:DPI:0} - ''; + dpi = '' + ''${env:DPI:0} + ''; - #polyheight = 60; - - fonts = [ - "Hasklig:style=Regular" - "all-the-icons:style=Regular" - "Webdings:style=Regular" - "Noto Emoji:scale=10" - "Unifont:style=Regular" - "Material Icons:size=12;0" - "Weather Icons:size=12;0" - "Hasklug Nerd Font,Hasklig Medium:style=Medium,Regular" - ]; - in + #polyheight = 60; + + fonts = [ + "Hasklig:style=Regular" + "all-the-icons:style=Regular" + "Webdings:style=Regular" + "Noto Emoji:scale=10" + "Unifont:style=Regular" + "Material Icons:size=12;0" + "Weather Icons:size=12;0" + "Hasklug Nerd Font,Hasklig Medium:style=Medium,Regular" + ]; + in { "bar/main" = { font = fonts; @@ -66,8 +71,8 @@ foreground = foreground_col; monitor = '' - ''${env:MONITOR:} - ''; + ''${env:MONITOR:} + ''; width = "100%"; #height = polyheight; padding = 0; @@ -75,10 +80,10 @@ radius = 14; module-margin = 1; line-size = 2; - + dpi-x = dpi; dpi-y = dpi; - + tray = { position = "right"; padding = 2; @@ -97,8 +102,8 @@ foreground = foreground_col; monitor = '' - ''${env:MONITOR:} - ''; + ''${env:MONITOR:} + ''; width = "100%"; #height = polyheight; radius = 14; @@ -108,18 +113,18 @@ dpi-x = dpi; dpi-y = dpi; }; - + "module/volume" = { type = "internal/pulseaudio"; format.volume = " "; label.muted.text = "🔇"; label.muted.foreground = "#666"; - ramp.volume = ["🔈" "🔉" "🔊"]; + ramp.volume = [ "🔈" "🔉" "🔊" ]; click.right = "${pkgs.pavucontrol}/bin/pavucontrol &"; # format-volume-underline = Base2; # format-muted-underline = Base2; }; - "module/i3" = { + "module/i3" = { type = "internal/i3"; format = " "; index-sort = "true"; @@ -137,7 +142,7 @@ #;label-focused-background = ${colors.background-alt} #;label-focused-background = #9f78e1 label-focused-background = foreground_col; - label-focused-underline= foreground_col; + label-focused-underline = foreground_col; label-focused-foreground = background_col; label-focused-padding = "2"; @@ -157,7 +162,7 @@ label-urgent-background = alert_col; label-urgent-foreground = primary_col; label-urgent-padding = "2"; - + #; Separator in between workspaces #; label-separator = | }; @@ -211,7 +216,7 @@ format-connected = " "; format-connected-prefix-foreground = foreground_altcol; label-connected = "%local_ip%"; - + format-disconnected = ""; format-disconnected-background = "#5479b7"; #;format-disconnected = @@ -241,12 +246,12 @@ adapter = "ADP1"; full-at = "98"; - format-charging-background= "#689d6a"; - format-charging-prefix = ''" "''; + format-charging-background = "#689d6a"; + format-charging-prefix = ''" "''; format-charging = ""; format-discharging-prefix = ''" "''; format-discharging = ""; - format-discharging-background= "#689d6a"; + format-discharging-background = "#689d6a"; format-full-prefix = ''" "''; format-charging-underline = "#ffaa55"; @@ -306,7 +311,7 @@ menu-2-1 = "cancel"; menu-2-1-exec = "menu-open-0"; }; - + "module/xbacklight" = { type = "internal/xbacklight"; @@ -343,13 +348,14 @@ label = "%title%"; }; }; - script = '' - for m in $(polybar --list-monitors | ${pkgs.gnugrep}/bin/grep '(primary)' | ${pkgs.coreutils}/bin/cut -d":" -f1); do - MONITOR=$m polybar --reload main & - done; - for m in $(polybar --list-monitors | ${pkgs.gnugrep}/bin/grep -v '(primary)' | ${pkgs.coreutils}/bin/cut -d":" -f1); do - MONITOR=$m polybar --reload aux & - done; - ''; + script = '' + for m in $(polybar --list-monitors | ${pkgs.gnugrep}/bin/grep '(primary)' | ${pkgs.coreutils}/bin/cut -d":" -f1); do + MONITOR=$m polybar --reload main & + done; + for m in $(polybar --list-monitors | ${pkgs.gnugrep}/bin/grep -v '(primary)' | ${pkgs.coreutils}/bin/cut -d":" -f1); do + MONITOR=$m polybar --reload aux & + done; + ''; + }; }; } diff --git a/users/ellmau/sway.nix b/users/ellmau/sway.nix index 7ca00c5..d293882 100644 --- a/users/ellmau/sway.nix +++ b/users/ellmau/sway.nix @@ -1,111 +1,117 @@ -{ config, pkgs, lib, ... }: -{ - services = { - blueman-applet.enable = true; - swayidle = { - enable = true; - events = [ - - { event = "before-sleep"; command = "swaylock -KfeFi ~/.background-image"; } - { event = "lock"; command = "swaylock -KfeFi ~/.background-image"; } - - ]; - timeouts = [ - { timeout = 60; command = "swaylock -KfeFi ~/.background-image"; } - ]; - }; - }; - home.file.".background-image".source = ../../common/wallpaper/nix-wallpaper-nineish-dark-gray.png; +{ config, pkgs, lib, nixosConfig, ... }: +with lib; { + config = + let + cfg = nixosConfig.elss.graphical.sway; + in + mkIf cfg.enable { + services = { + blueman-applet.enable = true; + swayidle = { + enable = true; + events = [ - gtk.enable = true; - - home.packages = [ - pkgs.gnome-icon-theme - pkgs.swaylock - pkgs.pulseaudioFull - ]; - - wayland.windowManager.sway = { - enable = true; - config = { - down = "k"; - up = "l"; - left = "j"; - right = "semicolon"; - - modifier = "Mod4"; - - keybindings = - let - modifier = config.wayland.windowManager.sway.config.modifier; - bctl = "${pkgs.brightnessctl}/bin/brightnessctl"; - in - lib.mkOptionDefault { - "${modifier}+Shift+q" = "kill"; - "${modifier}+d" = "exec ${pkgs.rofi}/bin/rofi -show drun"; - "${modifier}+Tab" = "exec ${pkgs.rofi}/bin/rofi -show window"; - "${modifier}+BackSpace" = ''mode "$mode_system"''; - XF86MonBrightnessDown = "exec ${bctl} s 2%-"; - XF86MonBrightnessUp = "exec ${bctl} s 2%+"; - XF86AudioMute = "exec ${pkgs.pamixer}/bin/pamixer -t"; - XF86AudioLowerVolume = "exec ${pkgs.pulseaudioFull}/bin/pactl set-sink-volume @DEFAULT_SINK@ -10%"; - XF86AudioRaiseVolume = "exec ${pkgs.pulseaudioFull}/bin/pactl set-sink-volume @DEFAULT_SINK@ +10%"; + { event = "before-sleep"; command = "swaylock -KfeFi ~/.background-image"; } + { event = "lock"; command = "swaylock -KfeFi ~/.background-image"; } + ]; + timeouts = [ + { timeout = 60; command = "swaylock -KfeFi ~/.background-image"; } + ]; }; - keycodebindings = - let - modifier = config.wayland.windowManager.sway.config.modifier; - in - { }; - - startup = [ - { - command = "--no-startup-id nm-applet --indicator"; - always = true; - } - { - command = "--no-startup-id blueman-applet"; - always = true; - } - { - command = "--no-startup-id systemctl --user restart waybar.service"; - always = true; - } - { - command = "--no-startup-id .config/i3/keepassxc.sh"; - } - { - command = ''--no-startup-id swaymsg output "*" bg .background-image fill''; - always = true; - } - ]; - terminal = "alacritty"; - window = { - titlebar = true; }; + home.file.".background-image".source = ../../common/wallpaper/nix-wallpaper-nineish-dark-gray.png; - bars = [ ]; + gtk.enable = true; + + home.packages = [ + pkgs.gnome-icon-theme + pkgs.swaylock + pkgs.pulseaudioFull + ]; + + wayland.windowManager.sway = { + enable = true; + config = { + down = "k"; + up = "l"; + left = "j"; + right = "semicolon"; + + modifier = "Mod4"; + + keybindings = + let + modifier = config.wayland.windowManager.sway.config.modifier; + bctl = "${pkgs.brightnessctl}/bin/brightnessctl"; + in + lib.mkOptionDefault { + "${modifier}+Shift+q" = "kill"; + "${modifier}+d" = "exec ${pkgs.rofi}/bin/rofi -show drun"; + "${modifier}+Tab" = "exec ${pkgs.rofi}/bin/rofi -show window"; + "${modifier}+BackSpace" = ''mode "$mode_system"''; + XF86MonBrightnessDown = "exec ${bctl} s 2%-"; + XF86MonBrightnessUp = "exec ${bctl} s 2%+"; + XF86AudioMute = "exec ${pkgs.pamixer}/bin/pamixer -t"; + XF86AudioLowerVolume = "exec ${pkgs.pulseaudioFull}/bin/pactl set-sink-volume @DEFAULT_SINK@ -10%"; + XF86AudioRaiseVolume = "exec ${pkgs.pulseaudioFull}/bin/pactl set-sink-volume @DEFAULT_SINK@ +10%"; + + }; + keycodebindings = + let + modifier = config.wayland.windowManager.sway.config.modifier; + in + { }; + + startup = [ + { + command = "--no-startup-id nm-applet --indicator"; + always = true; + } + { + command = "--no-startup-id blueman-applet"; + always = true; + } + { + command = "--no-startup-id systemctl --user restart waybar.service"; + always = true; + } + { + command = "--no-startup-id .config/i3/keepassxc.sh"; + } + { + command = ''--no-startup-id swaymsg output "*" bg .background-image fill''; + always = true; + } + ]; + terminal = "alacritty"; + window = { + titlebar = true; + }; + + bars = [ ]; + }; + extraConfig = '' + input "type:keyboard" { + xkb_layout us,de + xkb_variant euro,nodeadkeys + xkb_options grp:win_space_toggle + } + set $mode_system System (l) lock, (CTRL+e) logout, (CTRL+r) reboot, (CTRL+s) shutdown + set $i3lockwall swaylock -KfeFi ~/.background-image + mode "$mode_system" { + bindsym l exec --no-startup-id $i3lockwall, mode "default" + bindsym Ctrl+e exec --no-startup-id swaymsg exit, mode "default" + #bindsym s exec --no-startup-id $i3lockwall && systemctl suspend, mode "default" + #bindsym h exec --no-startup-id $i3lockwall && systemctl hibernate, mode "default" + bindsym Ctrl+r exec --no-startup-id systemctl reboot, mode "default" + bindsym Ctrl+s exec --no-startup-id systemctl poweroff -i, mode "default" + + # back to normal: Enter or Escape + bindsym Return mode "default" + bindsym Escape mode "default" + } + ''; + }; }; - extraConfig = '' - input "type:keyboard" { - xkb_layout us,de - xkb_variant euro,nodeadkeys - xkb_options grp:win_space_toggle - } - set $mode_system System (l) lock, (CTRL+e) logout, (CTRL+r) reboot, (CTRL+s) shutdown - set $i3lockwall swaylock -KfeFi ~/.background-image - mode "$mode_system" { - bindsym l exec --no-startup-id $i3lockwall, mode "default" - bindsym Ctrl+e exec --no-startup-id swaymsg exit, mode "default" - #bindsym s exec --no-startup-id $i3lockwall && systemctl suspend, mode "default" - #bindsym h exec --no-startup-id $i3lockwall && systemctl hibernate, mode "default" - bindsym Ctrl+r exec --no-startup-id systemctl reboot, mode "default" - bindsym Ctrl+s exec --no-startup-id systemctl poweroff -i, mode "default" - - # back to normal: Enter or Escape - bindsym Return mode "default" - bindsym Escape mode "default" - } - ''; - }; } diff --git a/users/ellmau/waybar.nix b/users/ellmau/waybar.nix index 3c4408e..ad0841b 100644 --- a/users/ellmau/waybar.nix +++ b/users/ellmau/waybar.nix @@ -1,85 +1,91 @@ -{ config, pkgs, llib, ... }: -{ - xdg.configFile."waybar/style.css" = { - source = conf/waybar/style.css; - }; - programs.waybar = { - enable = true; - systemd.enable = true; - settings = { - mainBar = { - modules-left = [ "sway/workspaces" "sway/mode" ]; - modules-center = [ "sway/window" ]; - modules-right = [ "idle_inhibitor" "sway/language" "network#wifi" "network#base" "battery" "pulseaudio" "clock" "tray" ]; +{ config, pkgs, lib, nixosConfig, ... }: +with lib; { + config = + let + cfg = nixosConfig.elss.graphical.sway; + in + mkIf cfg.enable { + xdg.configFile."waybar/style.css" = { + source = conf/waybar/style.css; + }; + programs.waybar = { + enable = true; + systemd.enable = true; + settings = { + mainBar = { + modules-left = [ "sway/workspaces" "sway/mode" ]; + modules-center = [ "sway/window" ]; + modules-right = [ "idle_inhibitor" "sway/language" "network#wifi" "network#base" "battery" "pulseaudio" "clock" "tray" ]; + + "idle_inhibitor" = { + format = "{icon}"; + format-icons = { + activated = ""; + deactivated = ""; + }; + }; + + battery = { + states = { + good = 95; + warning = 30; + critical = 15; + }; + format = "{capacity}% {icon}"; + format-charging = "{capacity}% "; + format-plugged = "{capacity}% "; + format-alt = "{time} {icon}"; + format-icons = [ "" "" "" "" "" ]; + }; + "clock" = { + format-alt = "{:%a, %d. %b %H:%M}"; + }; + + "network#wifi" = { + interface = "wlp2s0"; + format = "{ifname}"; + format-wifi = "{essid} ({signalStrength}%) "; + format-ethernet = "{ipaddr}/{cidr} "; + format-disconnected = "wifi:"; + tooltip-format = "{ifname} via {gwaddr} "; + tooltip-format-wifi = "{essid} ({signalStrength}%) "; + tooltip-format-ethernet = "{ifname} "; + tooltip-format-disconnected = "Disconnected"; + max-length = 50; + }; + + "network#base" = { + format = "{ifname}"; + format-wifi = "{essid} ({signalStrength}%) "; + format-ethernet = "{ipaddr}/{cidr} "; + format-disconnected = ""; + tooltip-format = "{ifname} via {gwaddr} "; + tooltip-format-wifi = "{essid} ({signalStrength}%) "; + tooltip-format-ethernet = "{ifname} "; + tooltip-format-disconnected = "Disconnected"; + max-length = 50; + }; + + pulseaudio = { + format = "{icon} {volume:2}%"; + format-bluetooth = "{icon} {volume}%"; + format-muted = "🔇"; + format-icons = { + headphones = ""; + default = [ + "🔈" + "🔉" + "🔊" + ]; + }; + scroll-step = 5; + on-click = "${pkgs.pamixer}/bin/pamixer -t"; + on-click-right = "${pkgs.pavucontrol}/bin/pavucontrol &"; + }; - "idle_inhibitor" = { - format = "{icon}"; - format-icons = { - activated = ""; - deactivated = ""; }; }; - - battery = { - states = { - good = 95; - warning = 30; - critical = 15; - }; - format = "{capacity}% {icon}"; - format-charging = "{capacity}% "; - format-plugged = "{capacity}% "; - format-alt = "{time} {icon}"; - format-icons = [ "" "" "" "" "" ]; - }; - "clock" = { - format-alt = "{:%a, %d. %b %H:%M}"; - }; - - "network#wifi" = { - interface = "wlp2s0"; - format = "{ifname}"; - format-wifi = "{essid} ({signalStrength}%) "; - format-ethernet = "{ipaddr}/{cidr} "; - format-disconnected = "wifi:"; - tooltip-format = "{ifname} via {gwaddr} "; - tooltip-format-wifi = "{essid} ({signalStrength}%) "; - tooltip-format-ethernet = "{ifname} "; - tooltip-format-disconnected = "Disconnected"; - max-length = 50; - }; - - "network#base" = { - format = "{ifname}"; - format-wifi = "{essid} ({signalStrength}%) "; - format-ethernet = "{ipaddr}/{cidr} "; - format-disconnected = ""; - tooltip-format = "{ifname} via {gwaddr} "; - tooltip-format-wifi = "{essid} ({signalStrength}%) "; - tooltip-format-ethernet = "{ifname} "; - tooltip-format-disconnected = "Disconnected"; - max-length = 50; - }; - - pulseaudio = { - format = "{icon} {volume:2}%"; - format-bluetooth = "{icon} {volume}%"; - format-muted = "🔇"; - format-icons = { - headphones = ""; - default = [ - "🔈" - "🔉" - "🔊" - ]; - }; - scroll-step = 5; - on-click = "${pkgs.pamixer}/bin/pamixer -t"; - on-click-right = "${pkgs.pavucontrol}/bin/pavucontrol &"; - }; - }; }; - }; }