Compare commits
No commits in common. "0d7022d7c1f6c0b0c64529bcba8f0572971ab316" and "5d1408254a4189ff369a290973728b0e15ea4a33" have entirely different histories.
0d7022d7c1
...
5d1408254a
8 changed files with 94 additions and 175 deletions
|
|
@ -52,6 +52,7 @@ in {
|
||||||
./theme.nix
|
./theme.nix
|
||||||
./sway.nix
|
./sway.nix
|
||||||
./waybar.nix
|
./waybar.nix
|
||||||
|
./wofi.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
|
||||||
|
|
@ -8,16 +8,10 @@ with lib; let
|
||||||
cfg = config.local.gui;
|
cfg = config.local.gui;
|
||||||
in {
|
in {
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home.packages = with pkgs; [
|
home.packages = [
|
||||||
wlr-randr
|
pkgs.wlr-randr
|
||||||
bemenu
|
|
||||||
];
|
];
|
||||||
|
|
||||||
home.sessionVariables = {
|
|
||||||
"BEMENU_BACKEND" = "wayland";
|
|
||||||
"BEMENU_RENDERER" = "bemenu-wlroots";
|
|
||||||
};
|
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
swayidle = {
|
swayidle = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -49,11 +43,7 @@ in {
|
||||||
cfg.monitors;
|
cfg.monitors;
|
||||||
|
|
||||||
modifier = "Mod4";
|
modifier = "Mod4";
|
||||||
|
focus.followMouse = true;
|
||||||
focus = {
|
|
||||||
followMouse = true;
|
|
||||||
wrapping = "workspace";
|
|
||||||
};
|
|
||||||
|
|
||||||
input = {
|
input = {
|
||||||
"*" = {
|
"*" = {
|
||||||
|
|
@ -69,10 +59,8 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
gaps = {
|
gaps = {
|
||||||
inner = 8;
|
inner = 10;
|
||||||
outer = -10;
|
outer = -10;
|
||||||
smartBorders = "on";
|
|
||||||
smartGaps = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
bars = singleton {
|
bars = singleton {
|
||||||
|
|
@ -83,70 +71,33 @@ in {
|
||||||
window = {
|
window = {
|
||||||
hideEdgeBorders = "both";
|
hideEdgeBorders = "both";
|
||||||
titlebar = false;
|
titlebar = false;
|
||||||
border = 2;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
floating = {
|
|
||||||
border = 0;
|
|
||||||
titlebar = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
menu = "bemenu-run";
|
|
||||||
|
|
||||||
workspaceLayout = "tabbed";
|
workspaceLayout = "tabbed";
|
||||||
|
|
||||||
colors = {
|
colors = {
|
||||||
background = "#141414";
|
|
||||||
focused = {
|
focused = {
|
||||||
border = "#1c1c1c";
|
background = "#222222";
|
||||||
background = "#000000";
|
border = "#4c7899";
|
||||||
text = "#eaeaea";
|
childBorder = "#222222";
|
||||||
indicator = "#000000";
|
indicator = "#292d2e";
|
||||||
childBorder = "#000000";
|
text = "#888888";
|
||||||
};
|
|
||||||
focusedInactive = {
|
|
||||||
border = "#000000";
|
|
||||||
background = "#000000";
|
|
||||||
text = "#eaeaea";
|
|
||||||
indicator = "#000000";
|
|
||||||
childBorder = "#000000";
|
|
||||||
};
|
|
||||||
unfocused = {
|
|
||||||
border = "#000000";
|
|
||||||
background = "#000000";
|
|
||||||
text = "#eaeaea";
|
|
||||||
indicator = "#000000";
|
|
||||||
childBorder = "#000000";
|
|
||||||
};
|
|
||||||
urgent = {
|
|
||||||
border = "#ff6666";
|
|
||||||
background = "#ff6666";
|
|
||||||
text = "#eaeaea";
|
|
||||||
indicator = "#ff6666";
|
|
||||||
childBorder = "#ff6666";
|
|
||||||
};
|
|
||||||
placeholder = {
|
|
||||||
border = "#000000";
|
|
||||||
background = "#000000";
|
|
||||||
text = "#eaeaea";
|
|
||||||
indicator = "#000000";
|
|
||||||
childBorder = "#000000";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
keybindings = let
|
keybindings = let
|
||||||
mod = config.wayland.windowManager.sway.config.modifier;
|
mod = config.wayland.windowManager.sway.config.modifier;
|
||||||
|
wofi = config.programs.wofi.package;
|
||||||
|
|
||||||
grimshot = getExe pkgs.sway-contrib.grimshot;
|
grimshot = getExe pkgs.sway-contrib.grimshot;
|
||||||
bemenuCommand = ''bemenu-run --center --width-factor 0.2 --fixed-height --list 10 --scrollbar none --auto-select --accept-single --fn "JetBrains Mono 12" --prompt "" --tb "#000000" --tf "#EAEAEA" --fb "#000000" --ff "#EAEAEA" --cb "#EAEAEA" --cf "#000000" --nb "#000000" --nf "#EAEAEA" --sb "#000000" --sf "#EAEAEA" --hb "#000000" --hf "#EAEAEA" --fbb "#000000" --fbf "#000000" --ab "#000000" --af "#EAEAEA"'';
|
|
||||||
in
|
in
|
||||||
mkOptionDefault {
|
mkOptionDefault {
|
||||||
"${mod}+a" = "focus parent";
|
"${mod}+a" = "focus parent";
|
||||||
"${mod}+c" = "focus child";
|
"${mod}+c" = "focus child";
|
||||||
"${mod}+d" = "exec ${bemenuCommand}";
|
"${mod}+d" = "exec --no-startup-id ${getExe wofi} -S run";
|
||||||
"${mod}+l" = "exec ${getExe pkgs.gtklock} -d";
|
"${mod}+l" = "exec ${getExe pkgs.gtklock} -d";
|
||||||
"${mod}+Return" = "exec ${lib.getExe pkgs.kitty} ${lib.getExe pkgs.tmux}";
|
"${mod}+Return" = "exec ${lib.getExe pkgs.kitty} ${lib.getExe pkgs.tmux}";
|
||||||
"${mod}+Shift+s" = "exec ${grimshot} copy area";
|
"${mod}+Shift+s" = "exec ${grimshot} copy area";
|
||||||
"${mod}+Shift+a" = "exec ${grimshot} copy active";
|
|
||||||
"${mod}+Tab" = "focus right";
|
"${mod}+Tab" = "focus right";
|
||||||
"${mod}+Shift+Tab" = "focus left";
|
"${mod}+Shift+Tab" = "focus left";
|
||||||
"${mod}+Shift+w" = "move workspace to output right";
|
"${mod}+Shift+w" = "move workspace to output right";
|
||||||
|
|
@ -184,6 +135,7 @@ in {
|
||||||
|
|
||||||
swaynag.enable = true;
|
swaynag.enable = true;
|
||||||
systemd.enable = true;
|
systemd.enable = true;
|
||||||
|
|
||||||
xwayland = true;
|
xwayland = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -26,11 +26,8 @@ in {
|
||||||
];
|
];
|
||||||
|
|
||||||
modules-right = [
|
modules-right = [
|
||||||
"privacy"
|
|
||||||
"cpu"
|
"cpu"
|
||||||
"memory"
|
"memory"
|
||||||
"disk"
|
|
||||||
"temperature"
|
|
||||||
"keyboard-state"
|
"keyboard-state"
|
||||||
"tray"
|
"tray"
|
||||||
];
|
];
|
||||||
|
|
@ -45,6 +42,8 @@ in {
|
||||||
"clock" = {
|
"clock" = {
|
||||||
interval = 60;
|
interval = 60;
|
||||||
format = "{:%A %B %d %Y %H:%M}";
|
format = "{:%A %B %d %Y %H:%M}";
|
||||||
|
tooltip = true;
|
||||||
|
tooltip-format = "{}";
|
||||||
};
|
};
|
||||||
"cpu" = {
|
"cpu" = {
|
||||||
format = "cpu {usage}%";
|
format = "cpu {usage}%";
|
||||||
|
|
@ -55,14 +54,6 @@ in {
|
||||||
tooltip = true;
|
tooltip = true;
|
||||||
tooltip-format = "{used}/{total}";
|
tooltip-format = "{used}/{total}";
|
||||||
};
|
};
|
||||||
"disk" = {
|
|
||||||
format = "disk {specific_used:0.0f}/{specific_total:0.0f}";
|
|
||||||
unit = "GiB";
|
|
||||||
tooltip = false;
|
|
||||||
};
|
|
||||||
"privacy" = {
|
|
||||||
icon-size = 12;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
style = ''
|
style = ''
|
||||||
|
|
@ -95,8 +86,8 @@ in {
|
||||||
.modules-left > widget:not(:first-child),
|
.modules-left > widget:not(:first-child),
|
||||||
.modules-center > widget:not(:first-child),
|
.modules-center > widget:not(:first-child),
|
||||||
.modules-right > widget:not(:first-child) {
|
.modules-right > widget:not(:first-child) {
|
||||||
margin-left: 12px;
|
margin-left: 8px;
|
||||||
padding-left: 12px;
|
padding-left: 8px;
|
||||||
border-left: 1px solid rgba(255, 255, 255, 0.08);
|
border-left: 1px solid rgba(255, 255, 255, 0.08);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
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);
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -22,27 +22,14 @@ in {
|
||||||
escapeTime = 10;
|
escapeTime = 10;
|
||||||
terminal = "xterm-256color";
|
terminal = "xterm-256color";
|
||||||
keyMode = "emacs";
|
keyMode = "emacs";
|
||||||
mouse = true;
|
|
||||||
|
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
|
set -g mouse on
|
||||||
set -ga update-environment " LIFT_PID"
|
set -ga update-environment " LIFT_PID"
|
||||||
set -g set-titles on
|
set -g set-titles on
|
||||||
set -g renumber-windows on
|
set -g renumber-windows on
|
||||||
set -sa terminal-overrides ',xterm-termite:RGB'
|
set -sa terminal-overrides ',xterm-termite:RGB'
|
||||||
|
set -g status-right "#{?window_bigger,[#{window_offset_x}#,#{window_offset_y}] ,} %H:%M %d-%b-%y"
|
||||||
set -g status-style bg=default,fg=colour250
|
|
||||||
set -g pane-border-style fg=colour236
|
|
||||||
set -g pane-active-border-style fg=colour240
|
|
||||||
set -g window-status-format " #I:#W "
|
|
||||||
set -g window-status-style bg=default,fg=colour244
|
|
||||||
set -g window-status-current-format " #I:#W "
|
|
||||||
set -g window-status-current-style bg=colour236,fg=white,bold
|
|
||||||
set -g status-position bottom
|
|
||||||
set -g status-left-length 20
|
|
||||||
set -g status-right-length 60
|
|
||||||
set -g status-left ""
|
|
||||||
set -g window-status-separator ""
|
|
||||||
set -g status-justify left
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,6 @@
|
||||||
./bluetooth.nix
|
./bluetooth.nix
|
||||||
./net.nix
|
./net.nix
|
||||||
./steam.nix
|
./steam.nix
|
||||||
./gtklock.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
fonts.packages = with pkgs; [
|
||||||
|
|
|
||||||
|
|
@ -1,84 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib; let
|
|
||||||
cfg = config.local.sys.gtklock;
|
|
||||||
in {
|
|
||||||
options.local.sys.gtklock = {
|
|
||||||
enable = mkEnableOption "gtklock settings";
|
|
||||||
};
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
programs.gtklock = {
|
|
||||||
enable = true;
|
|
||||||
config = {
|
|
||||||
main = {
|
|
||||||
idle-hide = true;
|
|
||||||
idle-timeout = 1;
|
|
||||||
time-format = "%H:%M:%S";
|
|
||||||
start-hidden = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
style = ''
|
|
||||||
/* Main lockscreen window */
|
|
||||||
window {
|
|
||||||
background-color: rgba(20, 20, 20, 0.9); /* dark, slightly translucent */
|
|
||||||
color: #eaeaea;
|
|
||||||
font-family: "JetBrains Mono", monospace;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Container for clock + prompt */
|
|
||||||
#main-box {
|
|
||||||
background: transparent;
|
|
||||||
border: none;
|
|
||||||
border-radius: 0;
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Clock text */
|
|
||||||
#clock {
|
|
||||||
font-size: 32px;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #ffffff;
|
|
||||||
margin-bottom: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Date text */
|
|
||||||
#date {
|
|
||||||
font-size: 14px;
|
|
||||||
color: #aaaaaa;
|
|
||||||
margin-bottom: 24px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Password entry */
|
|
||||||
entry {
|
|
||||||
background-color: rgba(0, 0, 0, 0.5);
|
|
||||||
color: #ffffff;
|
|
||||||
border: none;
|
|
||||||
border-radius: 0;
|
|
||||||
padding: 6px 8px;
|
|
||||||
font-family: "JetBrains Mono", monospace;
|
|
||||||
font-size: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Hide any extra icons in the entry */
|
|
||||||
entry image {
|
|
||||||
opacity: 0;
|
|
||||||
width: 0;
|
|
||||||
height: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Wrong password feedback */
|
|
||||||
#auth-failure {
|
|
||||||
color: #ff6666;
|
|
||||||
font-size: 12px;
|
|
||||||
margin-top: 6px;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -20,7 +20,6 @@
|
||||||
virtualisation.enable = true;
|
virtualisation.enable = true;
|
||||||
androidSupport.enable = true;
|
androidSupport.enable = true;
|
||||||
steam.enable = true;
|
steam.enable = true;
|
||||||
gtklock.enable = true;
|
|
||||||
|
|
||||||
users = {
|
users = {
|
||||||
fabian = {
|
fabian = {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue