forked from fabian/nix
		
	configure sway (this is a huge rice)
This commit is contained in:
		
							parent
							
								
									4316165e9d
								
							
						
					
					
						commit
						5d1408254a
					
				
					 16 changed files with 381 additions and 799 deletions
				
			
		|  | @ -10,14 +10,6 @@ in { | |||
|   options.local.apps.firefox = { | ||||
|     enable = mkEnableOption "firefox settings"; | ||||
| 
 | ||||
|     workspace = mkOption { | ||||
|       type = types.nullOr types.str; | ||||
|       default = null; | ||||
|       description = '' | ||||
|         i3 Workspace in which Firefox should open. If not set, Firefox will not open at startup | ||||
|       ''; | ||||
|     }; | ||||
| 
 | ||||
|     makeDefaultBrowser = mkOption { | ||||
|       type = types.bool; | ||||
|       default = true; | ||||
|  | @ -30,10 +22,6 @@ in { | |||
|   config = mkIf cfg.enable (mkMerge [ | ||||
|     { | ||||
|       programs.firefox.enable = true; | ||||
| 
 | ||||
|       xsession.windowManager.i3.config.startup = optional (cfg.workspace != null) { | ||||
|         command = "${lib.getExe pkgs.i3-gaps} 'workspace ${cfg.workspace}; exec ${lib.getExe pkgs.firefox}'"; | ||||
|       }; | ||||
|     } | ||||
| 
 | ||||
|     (mkIf cfg.makeDefaultBrowser { | ||||
|  |  | |||
|  | @ -1,32 +0,0 @@ | |||
| { | ||||
|   config, | ||||
|   lib, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: | ||||
| with lib; let | ||||
|   cfg = config.local.gui; | ||||
| in { | ||||
|   programs.autorandr = { | ||||
|     profiles."default" = { | ||||
|       fingerprint = | ||||
|         mapAttrs | ||||
|         (monitorId: monitor: monitor.fingerprint) | ||||
|         cfg.monitors; | ||||
| 
 | ||||
|       config = | ||||
|         mapAttrs ( | ||||
|           monitorId: | ||||
|             filterAttrs | ||||
|             (k: v: | ||||
|               !elem k [ | ||||
|                 #list of options to exclude from this list | ||||
|                 "fingerprint" | ||||
|                 "initialI3Workspace" | ||||
|                 "monitorId" | ||||
|               ]) | ||||
|         ) | ||||
|         cfg.monitors; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
|  | @ -9,121 +9,66 @@ with lib; let | |||
|   monitorType = {setName}: ( | ||||
|     types.submodule ({name ? null, ...}: { | ||||
|       options = { | ||||
|         monitorId = mkOption { | ||||
|         width = mkOption { | ||||
|           type = types.str; | ||||
|           example = "DP-1"; | ||||
|           readOnly = true; | ||||
|           internal = true; | ||||
|           default = "1920"; | ||||
|           example = "1920"; | ||||
|         }; | ||||
|         primary = mkOption { | ||||
|           type = types.bool; | ||||
|           default = false; | ||||
|           description = "is primary monitor"; | ||||
|           example = "true"; | ||||
|         }; | ||||
|         position = mkOption { | ||||
|         height = mkOption { | ||||
|           type = types.str; | ||||
|           example = "0x0"; | ||||
|         }; | ||||
|         mode = mkOption { | ||||
|           type = types.str; | ||||
|           description = "resolution"; | ||||
|           default = "1920x1080"; | ||||
|           example = "1920x1080"; | ||||
|           default = "1080"; | ||||
|           example = "1080"; | ||||
|         }; | ||||
|         rate = mkOption { | ||||
|           type = types.str; | ||||
|           description = "refresh rate"; | ||||
|           example = "143.85"; | ||||
|         }; | ||||
|         rotate = mkOption { | ||||
|         posX = mkOption { | ||||
|           type = types.str; | ||||
|           default = "normal"; | ||||
|           example = "left"; | ||||
|           description = "x axis position"; | ||||
|           default = "0"; | ||||
|           example = "0"; | ||||
|         }; | ||||
|         fingerprint = mkOption { | ||||
|         posY = mkOption { | ||||
|           type = types.str; | ||||
|           example = "00ffffffffffff003669a03bd4040000231e0104a5341d783bd005ac5048a627125054bfcf00814081809500714f81c0b30001010101023a801871382d40582c450009252100001e0882805070384d400820f80c09252100001a000000fd003090b4b422010a202020202020000000fc004d53492047323443340a20202001a2020320f14d010304131f120211900e0f1d1e230907078301000065030c001000866f80a0703840403020350009252100001a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e9"; | ||||
|           description = "y axis position"; | ||||
|           default = "0"; | ||||
|           example = "0"; | ||||
|         }; | ||||
|         initialI3Workspace = mkOption { | ||||
|           type = types.nullOr types.int; | ||||
|           default = null; | ||||
|           example = 1; | ||||
|         }; | ||||
|       }; | ||||
|       config = optionalAttrs setName { | ||||
|         # make this better later | ||||
|         monitorId = name; | ||||
|       }; | ||||
|     }) | ||||
|   ); | ||||
| in { | ||||
|   options.local.gui = { | ||||
|     enable = mkEnableOption "GUI settings"; | ||||
|     primaryMonitor = mkOption { | ||||
|       type = monitorType {setName = false;}; | ||||
|       readOnly = true; | ||||
|       internal = true; | ||||
|     }; | ||||
|     monitors = mkOption { | ||||
|       type = types.attrsOf (monitorType {setName = true;}); | ||||
|     }; | ||||
|     displayBatteryLevel = mkOption { | ||||
|       type = types.bool; | ||||
|       default = false; | ||||
|       description = "show battery level on polybar"; | ||||
|       example = "true"; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   imports = [ | ||||
|     ./autorandr.nix | ||||
|     ./fonts.nix | ||||
|     ./i3.nix | ||||
|     ./polybar.nix | ||||
|     ./startx.nix | ||||
|     ./picom.nix | ||||
|     ./theme.nix | ||||
|     ./sway.nix | ||||
|     ./waybar.nix | ||||
|     ./wofi.nix | ||||
|   ]; | ||||
| 
 | ||||
|   config = let | ||||
|     primaryMonitors = | ||||
|       filter (monitor: monitor.primary) | ||||
|       (attrValues cfg.monitors); | ||||
|   in | ||||
|     mkIf cfg.enable { | ||||
|       assertions = [ | ||||
|         { | ||||
|           assertion = length primaryMonitors == 1; | ||||
|           message = "Exactly one (1) primary monitor is requiered."; | ||||
|         } | ||||
|       ]; | ||||
|   config = mkIf cfg.enable { | ||||
|     services = { | ||||
|       mako.enable = true; | ||||
|     }; | ||||
| 
 | ||||
|       local.gui.primaryMonitor = head primaryMonitors; | ||||
| 
 | ||||
|       xsession = { | ||||
|     xdg = { | ||||
|       enable = true; | ||||
|       mimeApps = { | ||||
|         enable = true; | ||||
|         windowManager.i3.enable = true; | ||||
|       }; | ||||
| 
 | ||||
|       programs.autorandr.enable = true; | ||||
|       services = { | ||||
|         dunst.enable = true; | ||||
|         betterlockscreen.enable = true; | ||||
|         polybar.enable = true; | ||||
|         picom.enable = true; | ||||
|       }; | ||||
| 
 | ||||
|       xdg = { | ||||
|         enable = true; | ||||
|         mimeApps = { | ||||
|           enable = true; | ||||
|           defaultApplications = { | ||||
|             "application/pdf" = with pkgs; ["qpdfview"]; | ||||
|             "x-scheme-handler/file" = with pkgs; ["kitty"]; | ||||
|           }; | ||||
|         defaultApplications = { | ||||
|           "application/pdf" = with pkgs; ["qpdfview"]; | ||||
|           "x-scheme-handler/file" = with pkgs; ["kitty"]; | ||||
|         }; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
|  |  | |||
|  | @ -4,9 +4,38 @@ | |||
|   pkgs, | ||||
|   ... | ||||
| }: { | ||||
|   fonts.fontconfig.enable = true; | ||||
|   fonts.fontconfig = { | ||||
|     enable = true; | ||||
|     defaultFonts = { | ||||
|       monospace = [ | ||||
|         "JetBrains Mono" | ||||
|         "Noto Sans Mono CJK SC" | ||||
|         "Noto Sans Mono" | ||||
|         "Noto Color Emoji" | ||||
|       ]; | ||||
|       sansSerif = [ | ||||
|         "Noto Sans" | ||||
|         "Noto Sans CJK SC" | ||||
|         "Noto Color Emoji" | ||||
|       ]; | ||||
|       serif = [ | ||||
|         "Noto Serif" | ||||
|         "Noto Serif CJK SC" | ||||
|         "Noto Color Emoji" | ||||
|       ]; | ||||
|       emoji = ["Noto Color Emoji"]; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   # this is probably not necessary since they are already installed in sys | ||||
|   # with fonts.packages buy im too lazy to check | ||||
|   home.packages = with pkgs; [ | ||||
|     jetbrains-mono | ||||
|     noto-fonts | ||||
|     noto-fonts-cjk-sans | ||||
|     noto-fonts-emoji | ||||
|     noto-fonts-extra | ||||
|     nerd-fonts.fira-code | ||||
|     nerd-fonts.droid-sans-mono | ||||
|   ]; | ||||
| } | ||||
|  |  | |||
|  | @ -1,104 +0,0 @@ | |||
| { | ||||
|   config, | ||||
|   lib, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: | ||||
| with lib; { | ||||
|   xsession.windowManager.i3 = { | ||||
|     package = pkgs.i3-gaps; | ||||
| 
 | ||||
|     config = let | ||||
|       mod = "Mod4"; | ||||
|     in { | ||||
|       modifier = mod; | ||||
| 
 | ||||
|       fonts = { | ||||
|         names = ["JetBrains Mono"]; | ||||
|         style = "Regular"; | ||||
|         size = 8.0; | ||||
|       }; | ||||
| 
 | ||||
|       gaps = { | ||||
|         inner = 10; | ||||
|         outer = -10; | ||||
|       }; | ||||
| 
 | ||||
|       window = { | ||||
|         hideEdgeBorders = "both"; | ||||
|         titlebar = false; | ||||
|       }; | ||||
| 
 | ||||
|       workspaceLayout = "tabbed"; | ||||
| 
 | ||||
|       colors = { | ||||
|         focused = { | ||||
|           background = "#222222"; | ||||
|           border = "#4c7899"; | ||||
|           childBorder = "#222222"; | ||||
|           indicator = "#292d2e"; | ||||
|           text = "#888888"; | ||||
|         }; | ||||
|       }; | ||||
| 
 | ||||
|       # mkOptionDefault hace que se ponga la config por default | ||||
|       # y se sobreescriba las cosas que pongo acá | ||||
|       # NO QUITARLO. ver man home-configuration.nix | ||||
|       keybindings = mkOptionDefault { | ||||
|         "${mod}+Return" = "exec ${lib.getExe pkgs.kitty} ${lib.getExe pkgs.tmux}"; | ||||
|         "${mod}+Tab" = "focus right"; | ||||
|         "${mod}+Shift+Tab" = "focus left"; | ||||
|         "${mod}+Shift+s" = "exec ${lib.getExe pkgs.maim} -s -u | ${lib.getExe pkgs.xclip} -selection clipboard -t image/png -i"; | ||||
|         "${mod}+Shift+w" = "move workspace to output right"; | ||||
|         "${mod}+l" = "exec ${lib.getExe pkgs.betterlockscreen} -l"; | ||||
|       }; | ||||
| 
 | ||||
|       startup = [ | ||||
|         { | ||||
|           command = "${lib.getExe pkgs.xss-lock} --transfer-sleep-lock -- ${lib.getExe pkgs.i3lock} --nofork"; | ||||
|           notification = false; | ||||
|         } | ||||
|         { | ||||
|           command = "${lib.getExe pkgs.networkmanagerapplet}"; | ||||
|           notification = false; | ||||
|         } | ||||
|         #todo: sería nice hostear esta imagen en el server y fetchearla si no existe | ||||
|         { | ||||
|           command = "${lib.getExe pkgs.feh} --bg-fill ${config.home.homeDirectory}/Pictures/wallpapers/jupiter.png"; | ||||
|           notification = false; | ||||
|           always = true; | ||||
|         } | ||||
|         { | ||||
|           #todo: move this to telegram module | ||||
|           command = "${lib.getExe pkgs.i3-gaps} 'workspace 2; exec ${lib.getExe pkgs.tdesktop}'"; | ||||
|         } | ||||
|         { | ||||
|           command = "${lib.getExe pkgs.i3-gaps} 'workspace 2; exec ${lib.getExe pkgs.gajim}'"; | ||||
|         } | ||||
|         { | ||||
|           command = "${pkgs.systemd}/bin/systemctl --user restart polybar.service"; | ||||
|           notification = false; | ||||
|           always = true; | ||||
|         } | ||||
|         { | ||||
|           command = "${lib.getExe pkgs.autorandr} -c"; | ||||
|           notification = false; | ||||
|           always = true; | ||||
|         } | ||||
|       ]; | ||||
| 
 | ||||
|       workspaceOutputAssign = | ||||
|         mapAttrsToList ( | ||||
|           monitorId: v: | ||||
|             { | ||||
|               output = monitorId; | ||||
|             } | ||||
|             // optionalAttrs (v.initialI3Workspace != null) { | ||||
|               workspace = toString v.initialI3Workspace; | ||||
|             } | ||||
|         ) | ||||
|         config.local.gui.monitors; | ||||
|       bars = []; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
|  | @ -1,41 +0,0 @@ | |||
| { | ||||
|   config, | ||||
|   pkgs, | ||||
|   lib, | ||||
|   ... | ||||
| }: { | ||||
|   services.picom = { | ||||
|     fade = true; | ||||
|     fadeSteps = [0.1 0.1]; | ||||
|     fadeDelta = 10; | ||||
|     settings = { | ||||
|       animations = [ | ||||
|         { | ||||
|           triggers = [ | ||||
|             "open" | ||||
|             "show" | ||||
|           ]; | ||||
| 
 | ||||
|           preset = "appear"; | ||||
|           duration = "1"; | ||||
|         } | ||||
|         { | ||||
|           triggers = [ | ||||
|             "close" | ||||
|             "hide" | ||||
|           ]; | ||||
| 
 | ||||
|           preset = "disappear"; | ||||
|           duration = "1"; | ||||
|         } | ||||
|         { | ||||
|           triggers = [ | ||||
|             "geometry" | ||||
|           ]; | ||||
|           preset = "geometry-change"; | ||||
|           duration = "1"; | ||||
|         } | ||||
|       ]; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
|  | @ -1,460 +0,0 @@ | |||
| { | ||||
|   config, | ||||
|   lib, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: | ||||
| with lib; { | ||||
|   services.polybar = { | ||||
|     package = pkgs.polybarFull; | ||||
|     script = '' | ||||
|       # Terminate already running bar instances | ||||
|       killall -q polybar | ||||
| 
 | ||||
|       # Wait until the processes have been shut down | ||||
|       while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done | ||||
| 
 | ||||
|       # Launch Polybar, using default config location ~/.config/polybar/config | ||||
|       polybar -r main & polybar -r secondary & | ||||
|     ''; | ||||
| 
 | ||||
|     settings = { | ||||
|       "colors" = { | ||||
|         # background = "\${xrdb:color0:#222}"; | ||||
|         background = "#AA000000"; | ||||
|         background-alt = "#00000000"; | ||||
|         # foreground = "\${xrdb:color7:#222}"; | ||||
|         foreground = "#ffffff"; | ||||
|         foreground-alt = "#ffffff"; | ||||
|         primary = "#ffffff"; | ||||
|         secondary = "#e60053"; | ||||
|         alert = "#bd2c40"; | ||||
|       }; | ||||
| 
 | ||||
|       "bar/main" = { | ||||
|         monitor = config.local.gui.primaryMonitor.monitorId; | ||||
|         width = "100%"; | ||||
|         height = 30; | ||||
|         offset-x = "0%"; | ||||
|         offset-y = "0%"; | ||||
|         radius = 0.0; | ||||
|         fixed-center = false; | ||||
| 
 | ||||
|         background = "\${colors.background}"; | ||||
|         foreground = "\${colors.foreground}"; | ||||
| 
 | ||||
|         line-size = 1; | ||||
|         line-color = "#f0000000"; | ||||
| 
 | ||||
|         border-size = 0; | ||||
|         border-color = "#00000000"; | ||||
| 
 | ||||
|         padding-left = 0; | ||||
|         padding-right = 0; | ||||
| 
 | ||||
|         module-margin-left = 1; | ||||
|         module-margin-right = 1; | ||||
| 
 | ||||
|         # font-0 = "fixed:pixelsize=10;1"; | ||||
|         font-0 = "JetBrains Mono Light:size=10;0"; | ||||
|         font-1 = "unifont:fontformat=truetype:size=8:antialias=false;0"; | ||||
|         font-2 = "siji:pixelsize=10;1"; | ||||
|         # font-2 = "FontAwesome5Free:style=Regular:size=10;4"; | ||||
| 
 | ||||
|         modules-left = "i3"; | ||||
|         modules-center = "xwindow"; | ||||
|         modules-right = "xkeyboard pulseaudio filesystem memory cpu temperature gputemperature nvmetemperature wlan eth date semanatec"; | ||||
|         separator = "|"; | ||||
| 
 | ||||
|         tray-position = "right"; | ||||
|         tray-padding = 2; | ||||
| 
 | ||||
|         # To allow other windows to be placed above the bar, or to avoid having the bar visible when in fullscreen mode, | ||||
|         # you need to use the following two parameters. Note that it will tell the window manager to back off so no | ||||
|         # area will be reserved, etc. | ||||
|         # | ||||
|         # wm-restack = "i3"; | ||||
|         # override-redirect = true; | ||||
| 
 | ||||
|         cursor-click = "pointer"; | ||||
|         cursor-scroll = "ns-resize"; | ||||
|       }; | ||||
| 
 | ||||
|       "bar/secondary" = { | ||||
|         monitor = head (attrNames (filterAttrs (monitorId: v: | ||||
|           !v.primary) | ||||
|         config.local.gui.monitors)); # this is bad. will fail if more than 2 monitors. this sets all monitors other than the primary one for this bar. | ||||
|         "inherit" = "bar/main"; | ||||
| 
 | ||||
|         modules-left = "i3"; | ||||
|         modules-center = "xwindow"; | ||||
|         modules-right = "xkeyboard pulseaudio date"; | ||||
|         tray-position = "none"; | ||||
|       }; | ||||
| 
 | ||||
|       "module/xwindow" = { | ||||
|         type = "internal/xwindow"; | ||||
|         label = "%title:0:30:...%"; | ||||
|       }; | ||||
| 
 | ||||
|       "module/xkeyboard" = { | ||||
|         type = "internal/xkeyboard"; | ||||
|         blacklist-0 = "num lock"; | ||||
| 
 | ||||
|         format-prefix = ""; | ||||
|         format-prefix-foreground = "\${colors.foreground-alt}"; | ||||
| 
 | ||||
|         label-layout = "%layout%"; | ||||
| 
 | ||||
|         label-indicator-padding = 2; | ||||
|         label-indicator-margin = 1; | ||||
|         label-indicator-background = "\${colors.secondary}"; | ||||
|       }; | ||||
| 
 | ||||
|       "module/filesystem" = { | ||||
|         type = "internal/fs"; | ||||
|         interval = 10; | ||||
| 
 | ||||
|         mount-0 = "/"; | ||||
| 
 | ||||
|         label-mounted = "%{F#0a81f5}%mountpoint%%{F-}: %used%/%total%"; | ||||
|         label-unmounted = ""; | ||||
|       }; | ||||
| 
 | ||||
|       "module/i3" = { | ||||
|         type = "internal/i3"; | ||||
|         format = "<label-state> <label-mode>"; | ||||
|         index-sort = true; | ||||
|         wrapping-scroll = false; | ||||
| 
 | ||||
|         # Only show workspaces on the same output as the bar | ||||
|         # pin-workspaces = true | ||||
| 
 | ||||
|         label-mode-padding = 1; | ||||
|         label-mode-foreground = "#000"; | ||||
|         label-mode-background = "\${colors.primary}"; | ||||
| 
 | ||||
|         # focused = Active workspace on focused monitor | ||||
|         label-focused = "%index%"; | ||||
|         label-focused-background = "\${colors.background}"; | ||||
|         label-focused-underline = "\${colors.primary}"; | ||||
|         label-focused-padding = 1; | ||||
| 
 | ||||
|         # unfocused = Inactive workspace on any monitor | ||||
|         label-unfocused = "%index%"; | ||||
|         label-unfocused-padding = 1; | ||||
| 
 | ||||
|         # visible = Active workspace on unfocused monitor | ||||
|         label-visible = "%index%"; | ||||
|         label-visible-background = "\${self.label-focused-background}"; | ||||
|         label-visible-underline = "\${self.label-focused-underline}"; | ||||
|         label-visible-padding = "\${self.label-focused-padding}"; | ||||
| 
 | ||||
|         # urgent = Workspace with urgency hint set | ||||
|         label-urgent = "%index%"; | ||||
|         label-urgent-background = "\${colors.alert}"; | ||||
|         label-urgent-padding = 1; | ||||
|       }; | ||||
| 
 | ||||
|       "module/xbacklight" = { | ||||
|         type = "internal/xbacklight"; | ||||
| 
 | ||||
|         format = "<label> <bar>"; | ||||
|         label = "BL"; | ||||
| 
 | ||||
|         bar-width = 10; | ||||
|         bar-indicator = "|"; | ||||
|         bar-indicator-foreground = "#fff"; | ||||
|         bar-indicator-font = 2; | ||||
|         bar-fill = "─"; | ||||
|         bar-fill-font = 2; | ||||
|         bar-fill-foreground = "#9f78e1"; | ||||
|         bar-empty = "─"; | ||||
|         bar-empty-font = 2; | ||||
|         bar-empty-foreground = "\${colors.foreground-alt}"; | ||||
|       }; | ||||
| 
 | ||||
|       "module/backlight-acpi" = { | ||||
|         "inherit" = "module/xbacklight"; | ||||
|         type = "internal/backlight"; | ||||
|         card = "intel_backlight"; | ||||
|       }; | ||||
| 
 | ||||
|       "module/cpu" = { | ||||
|         type = "internal/cpu"; | ||||
|         interval = 2; | ||||
|         format-prefix = "cpu "; | ||||
|         format-prefix-foreground = "\${colors.foreground-alt}"; | ||||
|         label = "%percentage:2%%"; | ||||
|       }; | ||||
| 
 | ||||
|       "module/memory" = { | ||||
|         type = "internal/memory"; | ||||
|         interval = 2; | ||||
|         format-prefix = "mem "; | ||||
|         format-prefix-foreground = "\${colors.foreground-alt}"; | ||||
|         label = "%percentage_used%%"; | ||||
|       }; | ||||
| 
 | ||||
|       "module/wlan" = { | ||||
|         type = "internal/network"; | ||||
|         interface = "wlp7s0"; | ||||
|         interval = 3.0; | ||||
| 
 | ||||
|         format-connected = "<ramp-signal> <label-connected>"; | ||||
|         label-connected = "%essid%"; | ||||
| 
 | ||||
|         format-disconnected = ""; | ||||
|         # format-disconnected = "<label-disconnected>"; | ||||
|         # format-disconnected-underline = "\${self.format-connected-underline}"; | ||||
|         # label-disconnected = "%ifname% disconnected"; | ||||
|         # label-disconnected-foreground = "\${colors.foreground-alt}"; | ||||
| 
 | ||||
|         ramp-signal-0 = ""; | ||||
|         ramp-signal-1 = ""; | ||||
|         ramp-signal-2 = ""; | ||||
|         ramp-signal-3 = ""; | ||||
|         ramp-signal-4 = ""; | ||||
|         ramp-signal-foreground = "\${colors.foreground-alt}"; | ||||
|       }; | ||||
| 
 | ||||
|       "module/eth" = { | ||||
|         type = "internal/network"; | ||||
|         interface = "enp8s0"; | ||||
|         interval = 3.0; | ||||
| 
 | ||||
|         format-connected-prefix = ""; | ||||
|         format-connected-prefix-foreground = "\${colors.foreground-alt}"; | ||||
|         label-connected = "%local_ip%"; | ||||
| 
 | ||||
|         format-disconnected = ""; | ||||
|         # format-disconnected = "<label-disconnected>"; | ||||
|         # format-disconnected-underline = "\${self.format-connected-underline}"; | ||||
|         # label-disconnected = "%ifname% disconnected"; | ||||
|         # label-disconnected-foreground = "\${colors.foreground-alt}"; | ||||
|       }; | ||||
| 
 | ||||
|       "module/date" = { | ||||
|         type = "internal/date"; | ||||
|         interval = 1; | ||||
| 
 | ||||
|         date = " %d/%m/%Y"; | ||||
|         date-alt = " %c"; | ||||
| 
 | ||||
|         time = "%H:%M"; | ||||
|         time-alt = " [%s]"; | ||||
| 
 | ||||
|         format-prefix = ""; | ||||
|         format-prefix-foreground = "\${colors.foreground-alt}"; | ||||
| 
 | ||||
|         label = "%date% %time%"; | ||||
|       }; | ||||
| 
 | ||||
|       #      "module/semanatec" = { | ||||
|       #        type = "custom/script" | ||||
|       #        exec = "/home/fabian/bin/semanatec/target/release/semanatec" | ||||
|       #        interval = 3600 | ||||
|       #        format-prefix = "" | ||||
|       #      }; | ||||
| 
 | ||||
|       "module/pulseaudio" = { | ||||
|         type = "internal/pulseaudio"; | ||||
| 
 | ||||
|         format-volume = "<label-volume>"; | ||||
|         label-volume = "vol %percentage%%"; | ||||
|         label-volume-foreground = "\${root.foreground}"; | ||||
| 
 | ||||
|         label-muted = "vol 0%"; | ||||
|         label-muted-foreground = "\${root.foreground}"; | ||||
| 
 | ||||
|         bar-volume-width = 10; | ||||
|         bar-volume-foreground-0 = "#55aa55"; | ||||
|         bar-volume-foreground-1 = "#55aa55"; | ||||
|         bar-volume-foreground-2 = "#55aa55"; | ||||
|         bar-volume-foreground-3 = "#55aa55"; | ||||
|         bar-volume-foreground-4 = "#55aa55"; | ||||
|         bar-volume-foreground-5 = "#f5a70a"; | ||||
|         bar-volume-foreground-6 = "#ff5555"; | ||||
|         bar-volume-gradient = false; | ||||
|         bar-volume-indicator = "|"; | ||||
|         bar-volume-indicator-font = 2; | ||||
|         bar-volume-fill = "─"; | ||||
|         bar-volume-fill-font = 2; | ||||
|         bar-volume-empty = "─"; | ||||
|         bar-volume-empty-font = 2; | ||||
|         bar-volume-empty-foreground = "\${colors.foreground-alt}"; | ||||
|       }; | ||||
| 
 | ||||
|       "module/alsa" = { | ||||
|         type = "internal/alsa"; | ||||
| 
 | ||||
|         format-volume = "<label-volume> <bar-volume>"; | ||||
|         label-volume = "VOL"; | ||||
|         label-volume-foreground = "\${root.foreground}"; | ||||
| 
 | ||||
|         format-muted-prefix = "vol "; | ||||
|         format-muted-foreground = "\${colors.foreground-alt}"; | ||||
|         label-muted = "sound muted"; | ||||
| 
 | ||||
|         bar-volume-width = 10; | ||||
|         bar-volume-foreground-0 = "#55aa55"; | ||||
|         bar-volume-foreground-1 = "#55aa55"; | ||||
|         bar-volume-foreground-2 = "#55aa55"; | ||||
|         bar-volume-foreground-3 = "#55aa55"; | ||||
|         bar-volume-foreground-4 = "#55aa55"; | ||||
|         bar-volume-foreground-5 = "#f5a70a"; | ||||
|         bar-volume-foreground-6 = "#ff5555"; | ||||
|         bar-volume-gradient = false; | ||||
|         bar-volume-indicator = "|"; | ||||
|         bar-volume-indicator-font = 2; | ||||
|         bar-volume-fill = "─"; | ||||
|         bar-volume-fill-font = 2; | ||||
|         bar-volume-empty = "─"; | ||||
|         bar-volume-empty-font = 2; | ||||
|         bar-volume-empty-foreground = "\${colors.foreground-alt}"; | ||||
|       }; | ||||
| 
 | ||||
|       "module/battery" = { | ||||
|         type = "internal/battery"; | ||||
|         battery = "BAT0"; | ||||
|         adapter = "ADP1"; | ||||
|         full-at = 98; | ||||
| 
 | ||||
|         format-charging = "<animation-charging> <label-charging>"; | ||||
|         format-charging-underline = "#ffb52a"; | ||||
| 
 | ||||
|         format-discharging = "<animation-discharging> <label-discharging>"; | ||||
|         format-discharging-underline = "\${self.format-charging-underline}"; | ||||
| 
 | ||||
|         format-full-prefix = " "; | ||||
|         format-full-prefix-foreground = "\${colors.foreground-alt}"; | ||||
|         format-full-underline = "\${self.format-charging-underline}"; | ||||
| 
 | ||||
|         ramp-capacity-0 = ""; | ||||
|         ramp-capacity-1 = ""; | ||||
|         ramp-capacity-2 = ""; | ||||
|         ramp-capacity-foreground = "\${colors.foreground-alt}"; | ||||
| 
 | ||||
|         animation-charging-0 = ""; | ||||
|         animation-charging-1 = ""; | ||||
|         animation-charging-2 = ""; | ||||
|         animation-charging-foreground = "\${colors.foreground-alt}"; | ||||
|         animation-charging-framerate = 750; | ||||
| 
 | ||||
|         animation-discharging-0 = ""; | ||||
|         animation-discharging-1 = ""; | ||||
|         animation-discharging-2 = ""; | ||||
|         animation-discharging-foreground = "\${colors.foreground-alt}"; | ||||
|         animation-discharging-framerate = 750; | ||||
|       }; | ||||
| 
 | ||||
|       "module/temperature" = { | ||||
|         type = "internal/temperature"; | ||||
|         warn-temperature = 60; | ||||
|         hwmon-path = "/sys/devices/pci0000:00/0000:00:18.3/hwmon/hwmon1/temp2_input"; | ||||
| 
 | ||||
|         format = "<ramp> <label>"; | ||||
|         format-warn = "<ramp> <label-warn>"; | ||||
| 
 | ||||
|         label = "cpu %temperature-c%"; | ||||
|         label-warn = "cpu %temperature-c%"; | ||||
|         label-warn-foreground = "\${colors.secondary}"; | ||||
| 
 | ||||
|         ramp-0 = ""; | ||||
|         ramp-1 = ""; | ||||
|         ramp-2 = ""; | ||||
|         ramp-foreground = "\${colors.foreground-alt}"; | ||||
|       }; | ||||
| 
 | ||||
|       "module/gputemperature" = { | ||||
|         type = "internal/temperature"; | ||||
|         warn-temperature = 60; | ||||
|         hwmon-path = "/sys/devices/pci0000:00/0000:00:03.1/0000:09:00.0/hwmon/hwmon3/temp1_input"; | ||||
| 
 | ||||
|         format = "<ramp> <label>"; | ||||
|         format-warn = "<ramp> <label-warn>"; | ||||
| 
 | ||||
|         label = "gpu %temperature-c%"; | ||||
|         label-warn = "gpu %temperature-c%"; | ||||
|         label-warn-foreground = "\${colors.secondary}"; | ||||
| 
 | ||||
|         ramp-0 = ""; | ||||
|         ramp-1 = ""; | ||||
|         ramp-2 = ""; | ||||
|         ramp-foreground = "\${colors.foreground-alt}"; | ||||
|       }; | ||||
| 
 | ||||
|       "module/nvmetemperature" = { | ||||
|         type = "internal/temperature"; | ||||
|         warn-temperature = 60; | ||||
|         hwmon-path = "/sys/devices/pci0000:00/0000:00:01.1/0000:01:00.0/hwmon/hwmon0/temp1_input"; | ||||
| 
 | ||||
|         format = "<ramp> <label>"; | ||||
|         format-warn = "<ramp> <label-warn>"; | ||||
| 
 | ||||
|         label = "M.2 %temperature-c%"; | ||||
|         label-warn = "M.2 %temperature-c%"; | ||||
|         label-warn-foreground = "\${colors.secondary}"; | ||||
| 
 | ||||
|         ramp-0 = ""; | ||||
|         ramp-1 = ""; | ||||
|         ramp-2 = ""; | ||||
|         ramp-foreground = "\${colors.foreground-alt}"; | ||||
|       }; | ||||
| 
 | ||||
|       "module/powermenu" = { | ||||
|         type = "custom/menu"; | ||||
| 
 | ||||
|         expand-right = true; | ||||
| 
 | ||||
|         format-spacing = 1; | ||||
| 
 | ||||
|         label-open = ""; | ||||
|         label-open-foreground = "\${colors.secondary}"; | ||||
|         label-close = " cancel"; | ||||
|         label-close-foreground = "\${colors.secondary}"; | ||||
|         label-separator = "|"; | ||||
|         label-separator-foreground = "\${colors.foreground-alt}"; | ||||
| 
 | ||||
|         menu-0-0 = "reboot"; | ||||
|         menu-0-0-exec = "menu-open-1"; | ||||
|         menu-0-1 = "power off"; | ||||
|         menu-0-1-exec = "menu-open-2"; | ||||
| 
 | ||||
|         menu-1-0 = "cancel"; | ||||
|         menu-1-0-exec = "menu-open-0"; | ||||
|         menu-1-1 = "reboot"; | ||||
|         menu-1-1-exec = "sudo reboot"; | ||||
| 
 | ||||
|         menu-2-0 = "power off"; | ||||
|         menu-2-0-exec = "sudo poweroff"; | ||||
|         menu-2-1 = "cancel"; | ||||
|         menu-2-1-exec = "menu-open-0"; | ||||
|       }; | ||||
| 
 | ||||
|       "module/sink_changer" = { | ||||
|         type = "custom/script"; | ||||
|         exec = "/home/fabian/bin/polybar_scripts/info.sh"; | ||||
|         label = "%output%"; | ||||
|         click-left = "/home/fabian/bin/polybar_scripts/sink_changer.sh"; | ||||
|         # format-prefix = " "; | ||||
|         interval = "0"; | ||||
|         # format-prefix-foreground = "${colors.foreground-alt}"; | ||||
|       }; | ||||
| 
 | ||||
|       "settings" = { | ||||
|         screenchange-reload = true; | ||||
|         # compositing-background = "xor"; | ||||
|         # compositing-background = "screen"; | ||||
|         # compositing-foreground = "source"; | ||||
|         # compositing-border = "over"; | ||||
|         # pseudo-transparency = false; | ||||
|       }; | ||||
| 
 | ||||
|       "global/wm" = { | ||||
|         margin-top = 5; | ||||
|         margin-bottom = 5; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
|  | @ -1,16 +0,0 @@ | |||
| { | ||||
|   config, | ||||
|   lib, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: | ||||
| with lib; { | ||||
|   config = mkIf config.local.gui.enable { | ||||
|     home.file.".xinitrc".source = let | ||||
|       content = '' | ||||
|         exec ~/.xsession | ||||
|       ''; | ||||
|     in | ||||
|       pkgs.writeShellScript "xinitrc" content; | ||||
|   }; | ||||
| } | ||||
|  | @ -12,16 +12,9 @@ in { | |||
|       pkgs.wlr-randr | ||||
|     ]; | ||||
| 
 | ||||
|     programs = { | ||||
|       waybar.enable = true; | ||||
| 
 | ||||
|       wofi.enable = true; | ||||
|     }; | ||||
| 
 | ||||
|     services = { | ||||
|       swayidle = { | ||||
|         enable = true; | ||||
| 
 | ||||
|         timeouts = [ | ||||
|           { | ||||
|             timeout = 600; | ||||
|  | @ -42,13 +35,32 @@ in { | |||
|       enable = true; | ||||
| 
 | ||||
|       config = { | ||||
|         output = | ||||
|           lib.mapAttrs (k: v: { | ||||
|             mode = "${toString v.width}x${toString v.height}@${v.rate}Hz"; | ||||
|             pos = "${toString v.posX} ${toString v.posY}"; | ||||
|           }) | ||||
|           cfg.monitors; | ||||
| 
 | ||||
|         modifier = "Mod4"; | ||||
|         focus.followMouse = true; | ||||
| 
 | ||||
|         input = { | ||||
|           "*" = { | ||||
|             xkb_layout = "us"; | ||||
|             xkb_variant = "altgr-intl"; | ||||
|           }; | ||||
|         }; | ||||
| 
 | ||||
|         fonts = { | ||||
|           size = 11.0; | ||||
|           names = ["DejaVu Sans Mono"]; | ||||
|           style = "Bold Semi-Condensed"; | ||||
|           names = ["JetBrains Mono"]; | ||||
|           style = "Regular"; | ||||
|           size = 8.0; | ||||
|         }; | ||||
| 
 | ||||
|         gaps = { | ||||
|           inner = 10; | ||||
|           outer = -10; | ||||
|         }; | ||||
| 
 | ||||
|         bars = singleton { | ||||
|  | @ -56,6 +68,23 @@ in { | |||
|           position = "top"; | ||||
|         }; | ||||
| 
 | ||||
|         window = { | ||||
|           hideEdgeBorders = "both"; | ||||
|           titlebar = false; | ||||
|         }; | ||||
| 
 | ||||
|         workspaceLayout = "tabbed"; | ||||
| 
 | ||||
|         colors = { | ||||
|           focused = { | ||||
|             background = "#222222"; | ||||
|             border = "#4c7899"; | ||||
|             childBorder = "#222222"; | ||||
|             indicator = "#292d2e"; | ||||
|             text = "#888888"; | ||||
|           }; | ||||
|         }; | ||||
| 
 | ||||
|         keybindings = let | ||||
|           mod = config.wayland.windowManager.sway.config.modifier; | ||||
|           wofi = config.programs.wofi.package; | ||||
|  | @ -66,26 +95,30 @@ in { | |||
|             "${mod}+a" = "focus parent"; | ||||
|             "${mod}+c" = "focus child"; | ||||
|             "${mod}+d" = "exec --no-startup-id ${getExe wofi} -S run"; | ||||
|             "${mod}+i" = "exec busctl --user call rs.wl-gammarelay / rs.wl.gammarelay ToggleInverted"; | ||||
|             "${mod}+o" = "exec ${getExe pkgs.gtklock} -d"; | ||||
|             "${mod}+l" = "exec ${getExe pkgs.gtklock} -d"; | ||||
|             "${mod}+Return" = "exec ${lib.getExe pkgs.kitty} ${lib.getExe pkgs.tmux}"; | ||||
|             "${mod}+Shift+e" = "input * xkb_layout latam"; | ||||
|             "${mod}+Shift+u" = "input * xkb_layout us"; | ||||
|             "${mod}+p" = "exec ${grimshot} copy active"; | ||||
|             "${mod}+Shift+p" = "exec ${grimshot} copy area"; | ||||
|             "${mod}+Ctrl+p" = "exec ${grimshot} copy window"; | ||||
|             "${mod}+Shift+s" = "exec ${grimshot} copy area"; | ||||
|             "${mod}+Tab" = "focus right"; | ||||
|             "${mod}+Shift+Tab" = "focus left"; | ||||
|             "${mod}+Shift+w" = "move workspace to output right"; | ||||
|           }; | ||||
| 
 | ||||
|         window.commands = [ | ||||
|           # (No) Title Bars | ||||
|         startup = [ | ||||
|           { | ||||
|             command = "border pixel 5"; | ||||
|             criteria.class = "^.*"; | ||||
|             command = "${lib.getExe pkgs.sway} 'workspace 1; exec ${lib.getExe pkgs.firefox}'"; | ||||
|           } | ||||
| 
 | ||||
|           { | ||||
|             command = "floating enabled"; | ||||
|             criteria.class = "floating"; | ||||
|             command = "${lib.getExe pkgs.sway} 'workspace 2; exec ${lib.getExe pkgs.tdesktop}'"; | ||||
|           } | ||||
|           { | ||||
|             command = "${lib.getExe pkgs.sway} 'workspace 2; exec ${lib.getExe pkgs.gajim}'"; | ||||
|           } | ||||
|           { | ||||
|             command = "${lib.getExe pkgs.swaybg} -m fill -i ${config.home.homeDirectory}/Pictures/wallpapers/jupiter.png"; | ||||
|             always = true; | ||||
|           } | ||||
|           { | ||||
|             command = "${lib.getExe pkgs.networkmanagerapplet}"; | ||||
|           } | ||||
|         ]; | ||||
|       }; | ||||
|  |  | |||
							
								
								
									
										172
									
								
								home/modules/gui/waybar.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										172
									
								
								home/modules/gui/waybar.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,172 @@ | |||
| { | ||||
|   config, | ||||
|   lib, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: | ||||
| with lib; let | ||||
|   cfg = config.local.gui; | ||||
| in { | ||||
|   config = mkIf cfg.enable { | ||||
|     programs.waybar = { | ||||
|       enable = true; | ||||
|       settings = { | ||||
|         mainBar = { | ||||
|           layer = "top"; | ||||
|           position = "top"; | ||||
|           height = 20; | ||||
|           spacing = 0; | ||||
| 
 | ||||
|           modules-left = [ | ||||
|             "sway/workspaces" | ||||
|             "sway/mode" | ||||
|           ]; | ||||
|           modules-center = [ | ||||
|             "clock" | ||||
|           ]; | ||||
| 
 | ||||
|           modules-right = [ | ||||
|             "cpu" | ||||
|             "memory" | ||||
|             "keyboard-state" | ||||
|             "tray" | ||||
|           ]; | ||||
|           "keyboard-state" = { | ||||
|             numlock = true; | ||||
|             capslock = true; | ||||
|           }; | ||||
|           "tray" = { | ||||
|             icon-size = 13; | ||||
|             spacing = 8; | ||||
|           }; | ||||
|           "clock" = { | ||||
|             interval = 60; | ||||
|             format = "{:%A %B %d %Y %H:%M}"; | ||||
|             tooltip = true; | ||||
|             tooltip-format = "{}"; | ||||
|           }; | ||||
|           "cpu" = { | ||||
|             format = "cpu {usage}%"; | ||||
|             tooltip = false; | ||||
|           }; | ||||
|           "memory" = { | ||||
|             format = "mem {percentage}%"; | ||||
|             tooltip = true; | ||||
|             tooltip-format = "{used}/{total}"; | ||||
|           }; | ||||
|         }; | ||||
|       }; | ||||
|       style = '' | ||||
|         * { | ||||
|           font-family: "JetBrains Mono", monospace; | ||||
|           font-size: 12px; | ||||
|           font-weight: 500; | ||||
|           border: none; | ||||
|           box-shadow: none; | ||||
|         } | ||||
| 
 | ||||
|         /* Entire bar: fully transparent, no border */ | ||||
|         window#waybar { | ||||
|           background: transparent; | ||||
|           color: #eaeaea; | ||||
|           margin: 0; | ||||
|           padding: 0; | ||||
|         } | ||||
| 
 | ||||
|         /* Optional: small edge breathing room (comment out if you want edge-to-edge) */ | ||||
|         /* window#waybar { margin: 3px 6px 0 6px; } */ | ||||
| 
 | ||||
|         /* Module containers */ | ||||
|         .modules-left, .modules-center, .modules-right { | ||||
|           padding: 0; | ||||
|           margin: 0 6px; | ||||
|         } | ||||
| 
 | ||||
|         /* Subtle separators between modules (no boxes) */ | ||||
|         .modules-left > widget:not(:first-child), | ||||
|         .modules-center > widget:not(:first-child), | ||||
|         .modules-right > widget:not(:first-child) { | ||||
|           margin-left: 8px; | ||||
|           padding-left: 8px; | ||||
|           border-left: 1px solid rgba(255, 255, 255, 0.08); | ||||
|         } | ||||
| 
 | ||||
|         /* Tightest possible workspaces */ | ||||
|         #workspaces { padding: 0; margin: 0; } | ||||
|         #workspaces button { | ||||
|           margin: 0; | ||||
|           padding: 0 3px; | ||||
|           min-width: 0; | ||||
|           border-radius: 0; | ||||
|           background: transparent; | ||||
|           color: #cfcfcf; | ||||
|         } | ||||
|         #workspaces button:hover { | ||||
|           background: rgba(255, 255, 255, 0.06); | ||||
|         } | ||||
|         #workspaces button.active, | ||||
|         #workspaces button.focused { | ||||
|           background: rgba(255, 255, 255, 0.10); | ||||
|           color: #ffffff; | ||||
|           border-bottom: 2px solid #ffffff; | ||||
|         } | ||||
|         #workspaces button.urgent { | ||||
|           background: rgba(255, 80, 80, 0.25); | ||||
|           border-bottom: 2px solid #ff5050; | ||||
|         } | ||||
| 
 | ||||
|         /* Focused window title: single line, no glow */ | ||||
|         #window { | ||||
|           padding: 0 6px; | ||||
|           margin: 0; | ||||
|           color: #dedede; | ||||
|         } | ||||
| 
 | ||||
|         /* Sway mode indicator: visible only when active, no bloat */ | ||||
|         #mode { | ||||
|           padding: 0 6px; | ||||
|           margin: 0; | ||||
|           background: rgba(255, 255, 255, 0.10); | ||||
|           color: #ffffff; | ||||
|           border-bottom: 2px solid #ffffff; | ||||
|         } | ||||
| 
 | ||||
|         /* Status modules — keep them flat and compact */ | ||||
|         #clock, #battery, #network, #pulseaudio, #backlight, #cpu, #memory, #temperature, #tray { | ||||
|           padding: 0 6px; | ||||
|           margin: 0; | ||||
|           background: transparent; | ||||
|           color: #eaeaea; | ||||
|         } | ||||
| 
 | ||||
|         /* States (battery, network, audio) */ | ||||
|         #battery.charging { color: #c9ffbf; } | ||||
|         #battery.warning:not(.charging) { color: #ffd29a; } | ||||
|         #battery.critical:not(.charging) { color: #ff9a9a; } | ||||
| 
 | ||||
|         #network.disconnected { color: #ffb4b4; } | ||||
|         #pulseaudio.muted    { color: #9aa0a6; } | ||||
| 
 | ||||
|         /* Tray: compress icons */ | ||||
|         #tray > .passive { opacity: 0.6; } | ||||
|         #tray > .needs-attention { opacity: 1; } | ||||
| 
 | ||||
|         /* Tooltips: clean and readable */ | ||||
|         tooltip { | ||||
|           background: rgba(30, 30, 30, 0.95); | ||||
|           border: 1px solid rgba(255, 255, 255, 0.08); | ||||
|           color: #eaeaea; | ||||
|           padding: 6px 8px; | ||||
|         } | ||||
| 
 | ||||
|         /* Remove any leftover borders around everything */ | ||||
|         #custom-*, #idle_inhibitor, #privacy, #bluetooth { | ||||
|           border: none; | ||||
|           background: transparent; | ||||
|           margin: 0; | ||||
|           padding: 0 6px; | ||||
|         } | ||||
|       ''; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
							
								
								
									
										74
									
								
								home/modules/gui/wofi.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								home/modules/gui/wofi.nix
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,74 @@ | |||
| { | ||||
|   config, | ||||
|   lib, | ||||
|   pkgs, | ||||
|   ... | ||||
| }: | ||||
| with lib; let | ||||
|   cfg = config.local.gui; | ||||
| in { | ||||
|   config = mkIf cfg.enable { | ||||
|     programs = { | ||||
|       wofi = { | ||||
|         enable = true; | ||||
|         settings = { | ||||
|           prompt = ""; | ||||
|           width = "25%"; | ||||
|           height = "30%"; | ||||
|         }; | ||||
|         style = '' | ||||
|           window { | ||||
|             background-color: rgb(0, 0, 0); | ||||
|             color: #eaeaea; | ||||
|             font-family: monospace; | ||||
|             font-size: 12px; | ||||
|             border: none; | ||||
|             border-radius: 0; | ||||
|             padding: 0; | ||||
|             width: 50%;   /* half screen width */ | ||||
|           } | ||||
| 
 | ||||
|           /* Search input */ | ||||
|           #input { | ||||
|             background-color: rgba(0, 0, 0, 0.5); | ||||
|             color: #ffffff; | ||||
|             padding: 4px 6px; | ||||
|             border: none; | ||||
|             border-radius: 0; | ||||
|             margin: 0; | ||||
|           } | ||||
| 
 | ||||
|           /* Results list container */ | ||||
|           #inner-box { | ||||
|             background-color: transparent; | ||||
|             margin: 0; | ||||
|             padding: 0; | ||||
|           } | ||||
| 
 | ||||
|           /* Entries */ | ||||
|           #entry { | ||||
|             padding: 2px 6px; | ||||
|             margin: 0; | ||||
|             border-radius: 0; | ||||
|             background-color: transparent; | ||||
|             color: #cccccc; | ||||
|           } | ||||
| 
 | ||||
|           /* Text inside entries */ | ||||
|           #text { | ||||
|             padding: 0; | ||||
|             margin: 0; | ||||
|           } | ||||
| 
 | ||||
|           /* Scrollbar */ | ||||
|           scrollbar { | ||||
|             background: transparent; | ||||
|           } | ||||
|           scrollbar slider { | ||||
|             background: rgba(255, 255, 255, 0.15); | ||||
|           } | ||||
|         ''; | ||||
|       }; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
|  | @ -43,10 +43,7 @@ | |||
|       gaming.enable = true; | ||||
|       yubikey.enable = true; | ||||
|       defaultDesktopPack.enable = true; | ||||
|       firefox = { | ||||
|         enable = true; | ||||
|         workspace = "1"; #make this an int later | ||||
|       }; | ||||
|       firefox.enable = true; | ||||
|       mapping.enable = true; | ||||
|     }; | ||||
| 
 | ||||
|  | @ -54,19 +51,15 @@ | |||
|       enable = true; | ||||
|       monitors = { | ||||
|         DP-1 = { | ||||
|           primary = true; | ||||
|           position = "0x0"; | ||||
|           mode = "1920x1080"; | ||||
|           rate = "143.85"; | ||||
|           fingerprint = "00ffffffffffff003669a03bd4040000231e0104a5341d783bd005ac5048a627125054bfcf00814081809500714f81c0b30001010101023a801871382d40582c450009252100001e0882805070384d400820f80c09252100001a000000fd003090b4b422010a202020202020000000fc004d53492047323443340a20202001a2020320f14d010304131f120211900e0f1d1e230907078301000065030c001000866f80a0703840403020350009252100001a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e9"; | ||||
|           initialI3Workspace = 1; | ||||
|           width = "1920"; | ||||
|           height = "1080"; | ||||
|           rate = "59.94"; | ||||
|         }; | ||||
|         DP-2 = { | ||||
|           position = "1920x0"; | ||||
|           mode = "1920x1080"; | ||||
|           rate = "59.94"; | ||||
|           fingerprint = "00ffffffffffff0009d1e77845540000061f0104a5351e783a0565a756529c270f5054a56b80d1c0b300a9c08180810081c001010101023a801871382d40582c45000f282100001e000000ff0039324d30303033323031510a20000000fd00324c1e5311010a202020202020000000fc0042656e51204757323438300a20019b02031cf14f901f041303120211011406071516052309070783010000023a801871382d40582c45000f282100001f011d8018711c1620582c25000f282100009f011d007251d01e206e2855000f282100001e8c0ad08a20e02d10103e96000f28210000180000000000000000000000000000000000000000000000000000008d"; | ||||
|           initialI3Workspace = 10; | ||||
|           width = "1920"; | ||||
|           height = "1080"; | ||||
|           rate = "143.855"; | ||||
|           posX = "1920"; | ||||
|         }; | ||||
|       }; | ||||
|     }; | ||||
|  | @ -77,10 +70,8 @@ | |||
|       darktable | ||||
|       (gajim.override { | ||||
|         enableSecrets = true; | ||||
|         # enableJingle = true; | ||||
|         # enableSpelling = true; | ||||
|         enableUPnP = true; | ||||
|         # enableAppIndicator = true; | ||||
|         enableAppIndicator = true; | ||||
|         enableE2E = true; | ||||
|         enableRST = true; | ||||
|       }) | ||||
|  |  | |||
|  | @ -48,12 +48,9 @@ | |||
|       enable = true; | ||||
|       monitors = { | ||||
|         eDP-1 = { | ||||
|           primary = true; | ||||
|           position = "0x0"; | ||||
|           mode = "1920x1080"; | ||||
|           width = "1920"; | ||||
|           height = "1080"; | ||||
|           rate = "60.00"; | ||||
|           fingerprint = "00ffffffffffff000dae0a1400000000291d0104a51f11780328659759548e271e505400000001010101010101010101010101010101363680a0703820403020a60035ad10000018000000fe004e3134304843412d4541450a20000000fe00434d4e0a202020202020202020000000fe004e3134304843412d4541450a200002"; | ||||
|           initialI3Workspace = 1; | ||||
|         }; | ||||
|       }; | ||||
|     }; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue