Remove old themes and re-arrange Hyprland
|
@ -1,12 +1,9 @@
|
||||||
{ pkgs, inputs, theme, ... }: {
|
{ pkgs, inputs, theme, ... }: {
|
||||||
imports = [
|
imports = [
|
||||||
inputs.stylix.homeManagerModules.stylix
|
inputs.stylix.homeManagerModules.stylix
|
||||||
./themes/${theme}
|
./stylix
|
||||||
# GTK theme applied in home-manager/common/software/cli/bash.nix
|
./swayosd/swayosd.nix
|
||||||
# Theme agnostic configs
|
./waybar/scripts.nix
|
||||||
./common/hyprland/hyprland-binds.nix
|
|
||||||
./common/swayosd/swayosd-conf.nix
|
|
||||||
./common/waybar/scripts.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
services.gammastep = {
|
services.gammastep = {
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
{ theme, ... }: {
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
settings = {
|
||||||
|
extraConfig = ''
|
||||||
|
# Resize
|
||||||
|
bind = SUPER, R, exec, notify-send "Entered resize mode. Press ESC to quit."
|
||||||
|
bind = SUPER, R, submap, resize
|
||||||
|
submap = resize
|
||||||
|
binde = , H, resizeactive,-50 0
|
||||||
|
binde = , L, resizeactive,50 0
|
||||||
|
binde = , K, resizeactive,0 -50
|
||||||
|
binde = , J, resizeactive,0 50
|
||||||
|
binde = , left, resizeactive,-50 0
|
||||||
|
binde = , right, resizeactive,50 0
|
||||||
|
binde = , up, resizeactive,0 -50
|
||||||
|
binde = , down, resizeactive,0 50
|
||||||
|
bind = , escape, submap, reset
|
||||||
|
submap = reset
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
10
home-manager/common/desktops/hyprland/stylix/default.nix
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{ ... }: {
|
||||||
|
imports = [
|
||||||
|
./hyprland.nix
|
||||||
|
./mako.nix
|
||||||
|
./rofi.nix
|
||||||
|
./swaylock.nix
|
||||||
|
./waybar.nix
|
||||||
|
./wlogout.nix
|
||||||
|
];
|
||||||
|
}
|
|
@ -1,7 +1,78 @@
|
||||||
{ theme, ... }: {
|
{ theme, ... }: {
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
exec-once = ''bash ~/.config/hypr/start.sh'';
|
layerrule = "blur, waybar";
|
||||||
|
xwayland.force_zero_scaling = true;
|
||||||
|
general = {
|
||||||
|
gaps_in = "8";
|
||||||
|
gaps_out = "8";
|
||||||
|
border_size = "2";
|
||||||
|
resize_on_border = "true";
|
||||||
|
extend_border_grab_area = "15";
|
||||||
|
layout = "dwindle";
|
||||||
|
};
|
||||||
|
input = {
|
||||||
|
kb_layout = "us";
|
||||||
|
follow_mouse = "1";
|
||||||
|
touchpad = {
|
||||||
|
natural_scroll = true;
|
||||||
|
disable_while_typing = true;
|
||||||
|
tap-to-click = true;
|
||||||
|
clickfinger_behavior = true;
|
||||||
|
drag_lock = true;
|
||||||
|
};
|
||||||
|
sensitivity = 0;
|
||||||
|
};
|
||||||
|
gestures = {
|
||||||
|
workspace_swipe = true;
|
||||||
|
workspace_swipe_fingers = 3;
|
||||||
|
workspace_swipe_numbered = false;
|
||||||
|
};
|
||||||
|
misc = {
|
||||||
|
disable_hyprland_logo = true;
|
||||||
|
mouse_move_enables_dpms = true;
|
||||||
|
key_press_enables_dpms = true;
|
||||||
|
};
|
||||||
|
decoration = {
|
||||||
|
rounding = 5;
|
||||||
|
active_opacity = 0.8;
|
||||||
|
inactive_opacity = 0.6;
|
||||||
|
fullscreen_opacity = 1.0;
|
||||||
|
drop_shadow = true;
|
||||||
|
shadow_range = 4;
|
||||||
|
shadow_render_power = 3;
|
||||||
|
blur = {
|
||||||
|
size = 8;
|
||||||
|
passes = 3;
|
||||||
|
ignore_opacity = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
animations = {
|
||||||
|
enabled = true;
|
||||||
|
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
|
||||||
|
animation = [
|
||||||
|
"windows,1,7,myBezier"
|
||||||
|
"windowsOut,1,7,default,popin 80%"
|
||||||
|
"border,1,10,default"
|
||||||
|
"borderangle,1,8,default"
|
||||||
|
"fade,1,7,default"
|
||||||
|
"workspaces,1,6,default"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
dwindle = {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||||
|
pseudotile = true; # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||||
|
preserve_split = true;# you probably want this
|
||||||
|
no_gaps_when_only = 1;
|
||||||
|
};
|
||||||
|
master.new_is_master = true;
|
||||||
|
windowrule = [
|
||||||
|
"noblur,^(firefox)$" # disables blur for firefox
|
||||||
|
"opacity 1.0 override,^(firefox)$"
|
||||||
|
"noblur,^(steam)$" # disables blur for steam
|
||||||
|
"opacity 1.0 override,^(steam)$"
|
||||||
|
];
|
||||||
bind = [
|
bind = [
|
||||||
''SUPER, Q, exec, kitty''
|
''SUPER, Q, exec, kitty''
|
||||||
''SUPER, C, killactive,''
|
''SUPER, C, killactive,''
|
||||||
|
@ -83,22 +154,8 @@
|
||||||
''SUPER, mouse:272, movewindow''
|
''SUPER, mouse:272, movewindow''
|
||||||
''SUPER, mouse:273, resizewindow''
|
''SUPER, mouse:273, resizewindow''
|
||||||
];
|
];
|
||||||
|
|
||||||
|
exec-once = ''bash ~/.config/hypr/start.sh'';
|
||||||
};
|
};
|
||||||
extraConfig = ''
|
|
||||||
# Resize
|
|
||||||
bind = SUPER, R, exec, notify-send "Entered resize mode. Press ESC to quit."
|
|
||||||
bind = SUPER, R, submap, resize
|
|
||||||
submap = resize
|
|
||||||
binde = , H, resizeactive,-50 0
|
|
||||||
binde = , L, resizeactive,50 0
|
|
||||||
binde = , K, resizeactive,0 -50
|
|
||||||
binde = , J, resizeactive,0 50
|
|
||||||
binde = , left, resizeactive,-50 0
|
|
||||||
binde = , right, resizeactive,50 0
|
|
||||||
binde = , up, resizeactive,0 -50
|
|
||||||
binde = , down, resizeactive,0 50
|
|
||||||
bind = , escape, submap, reset
|
|
||||||
submap = reset
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
}
|
}
|
|
@ -1,3 +0,0 @@
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,10 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
imports = [
|
|
||||||
./mako-conf.nix
|
|
||||||
./rofi-conf.nix
|
|
||||||
./swaylock-conf.nix
|
|
||||||
./waybar-conf.nix
|
|
||||||
./wlogout-conf.nix
|
|
||||||
./hyprland-conf.nix
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,100 +0,0 @@
|
||||||
{ theme, ... }: {
|
|
||||||
home.file = {
|
|
||||||
".config/hypr/hyprland.conf" = {
|
|
||||||
enable = true;
|
|
||||||
text = ''
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/
|
|
||||||
env = GDK_SCALE,1
|
|
||||||
env = XCURSOR_SIZE,22
|
|
||||||
|
|
||||||
# unscale XWayland
|
|
||||||
xwayland {
|
|
||||||
force_zero_scaling = true
|
|
||||||
}
|
|
||||||
|
|
||||||
layerrule = blur, waybar
|
|
||||||
|
|
||||||
# nVidia Speficic Settings:
|
|
||||||
# https://wiki.hyprland.org/Nvidia/
|
|
||||||
# env = LIBVA_DRIVER_NAME,nvidia
|
|
||||||
# env = XDG_SESSION_TYPE,wayland
|
|
||||||
# env = GBM_BACKEND,nvidia-drm
|
|
||||||
# env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
|
||||||
env = WLR_NO_HARDWARE_CURSORS,1
|
|
||||||
|
|
||||||
general {
|
|
||||||
gaps_in = 5
|
|
||||||
gaps_out = 15
|
|
||||||
border_size = 3
|
|
||||||
# First six are color, last 2 are opacity
|
|
||||||
col.active_border = rgba(2a9b34bb) # Gruvbox fg2, opacity bb
|
|
||||||
col.inactive_border = rgba(207427dd) # Gruvbox bg2, opacity aa
|
|
||||||
resize_on_border = true
|
|
||||||
extend_border_grab_area = 15
|
|
||||||
layout = dwindle
|
|
||||||
}
|
|
||||||
input {
|
|
||||||
kb_layout = us
|
|
||||||
follow_mouse = 1
|
|
||||||
touchpad {
|
|
||||||
natural_scroll = true
|
|
||||||
disable_while_typing = true
|
|
||||||
tap-to-click = true
|
|
||||||
clickfinger_behavior = true
|
|
||||||
drag_lock = true
|
|
||||||
}
|
|
||||||
sensitivity = 0
|
|
||||||
}
|
|
||||||
gestures {
|
|
||||||
# https://wiki.hyprland.org/0.24.1/Configuring/Keywords/#gestures
|
|
||||||
workspace_swipe = true
|
|
||||||
workspace_swipe_fingers = 3
|
|
||||||
workspace_swipe_numbered = false
|
|
||||||
}
|
|
||||||
misc {
|
|
||||||
disable_hyprland_logo = true
|
|
||||||
mouse_move_enables_dpms = true
|
|
||||||
key_press_enables_dpms = true
|
|
||||||
}
|
|
||||||
decoration {
|
|
||||||
rounding = 5
|
|
||||||
active_opacity = 0.8
|
|
||||||
inactive_opacity = 0.6
|
|
||||||
fullscreen_opacity = 1.0
|
|
||||||
drop_shadow = true
|
|
||||||
shadow_range = 4
|
|
||||||
shadow_render_power = 3
|
|
||||||
col.shadow = rgba(05050500)
|
|
||||||
blur {
|
|
||||||
size = 8
|
|
||||||
passes = 3
|
|
||||||
ignore_opacity = true
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
animations {
|
|
||||||
# https://wiki.hyprland.org/Configuring/Animations/
|
|
||||||
enabled = true
|
|
||||||
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
|
||||||
animation = windows, 1, 7, myBezier
|
|
||||||
animation = windowsOut, 1, 7, default, popin 80%
|
|
||||||
animation = border, 1, 10, default
|
|
||||||
animation = borderangle, 1, 8, default
|
|
||||||
animation = fade, 1, 7, default
|
|
||||||
animation = workspaces, 1, 6, default
|
|
||||||
}
|
|
||||||
dwindle {
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
|
||||||
pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
|
||||||
preserve_split = true # you probably want this
|
|
||||||
no_gaps_when_only = 1
|
|
||||||
|
|
||||||
}
|
|
||||||
master {
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
|
||||||
new_is_master = true
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,30 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
home.file.".config/mako/config".text = ''
|
|
||||||
max-history=5
|
|
||||||
sort=+time
|
|
||||||
|
|
||||||
on-button-left=dismiss
|
|
||||||
on-button-right=dismiss-all
|
|
||||||
|
|
||||||
font=JetbrainsMono Regular
|
|
||||||
background-color=#3a3c3e
|
|
||||||
border-color=#2a9b34
|
|
||||||
text-color=#d9eed2
|
|
||||||
width=300
|
|
||||||
height=100
|
|
||||||
margin=10
|
|
||||||
padding=15
|
|
||||||
border-size=3
|
|
||||||
border-radius=15
|
|
||||||
icons=1
|
|
||||||
max-icon-size=128
|
|
||||||
icon-location=left
|
|
||||||
markup=1
|
|
||||||
actions=1
|
|
||||||
history=1
|
|
||||||
text-alignment=left
|
|
||||||
default-timeout=15000
|
|
||||||
layer=top
|
|
||||||
anchor=top-right
|
|
||||||
'';
|
|
||||||
}
|
|
|
@ -1,223 +0,0 @@
|
||||||
{ ...}: {
|
|
||||||
home.file = {
|
|
||||||
# https://github.com/davatorium/rofi/blob/next/CONFIG.md
|
|
||||||
# Rofi configuration
|
|
||||||
".config/rofi/config.rasi" = {
|
|
||||||
enable = true;
|
|
||||||
executable = false;
|
|
||||||
text = ''
|
|
||||||
configuration {
|
|
||||||
}
|
|
||||||
@theme "dark"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
# Rofi theme
|
|
||||||
".config/rofi/themes/dark.rasi" = {
|
|
||||||
enable = true;
|
|
||||||
executable = false;
|
|
||||||
text = ''
|
|
||||||
/* ==========================================================================
|
|
||||||
Rofi color theme
|
|
||||||
|
|
||||||
Based on the Gruvbox color scheme for Vim by morhetz
|
|
||||||
https://github.com/morhetz/gruvbox
|
|
||||||
|
|
||||||
File: dark.rasi
|
|
||||||
Desc: Gruvbox dark color theme for Rofi
|
|
||||||
Author: bardisty <b@bah.im>
|
|
||||||
Source: https://github.com/bardisty/rofi
|
|
||||||
Modified: Mon Feb 12 2018 04:08:43 PST -0800
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
* {
|
|
||||||
/* Theme settings */
|
|
||||||
highlight: bold italic;
|
|
||||||
scrollbar: true;
|
|
||||||
|
|
||||||
/* Gruvbox dark colors */
|
|
||||||
dark-bg0: #282828;
|
|
||||||
dark-bg0-soft: #32302f;
|
|
||||||
dark-bg3: #665c54;
|
|
||||||
dark-fg0: #d9eed2;
|
|
||||||
dark-fg1: #d9eed2;
|
|
||||||
dark-red-dark: #fb0029;
|
|
||||||
dark-red-light: #fb4934;
|
|
||||||
dark-yellow-dark: #7a6640;
|
|
||||||
dark-yellow-light: #7a6640;
|
|
||||||
dark-gray: #a89984;
|
|
||||||
|
|
||||||
/* Theme colors */
|
|
||||||
background: @dark-bg0;
|
|
||||||
background-color: @background;
|
|
||||||
foreground: @dark-fg1;
|
|
||||||
border-color: @dark-gray;
|
|
||||||
separatorcolor: @border-color;
|
|
||||||
scrollbar-handle: @border-color;
|
|
||||||
|
|
||||||
normal-background: @background;
|
|
||||||
normal-foreground: @foreground;
|
|
||||||
alternate-normal-background: @dark-bg0-soft;
|
|
||||||
alternate-normal-foreground: @foreground;
|
|
||||||
selected-normal-background: @dark-bg3;
|
|
||||||
selected-normal-foreground: @dark-fg0;
|
|
||||||
|
|
||||||
active-background: @dark-yellow-dark;
|
|
||||||
active-foreground: @background;
|
|
||||||
alternate-active-background: @active-background;
|
|
||||||
alternate-active-foreground: @active-foreground;
|
|
||||||
selected-active-background: @dark-yellow-light;
|
|
||||||
selected-active-foreground: @active-foreground;
|
|
||||||
|
|
||||||
urgent-background: @dark-red-dark;
|
|
||||||
urgent-foreground: @background;
|
|
||||||
alternate-urgent-background: @urgent-background;
|
|
||||||
alternate-urgent-foreground: @urgent-foreground;
|
|
||||||
selected-urgent-background: @dark-red-light;
|
|
||||||
selected-urgent-foreground: @urgent-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
@import "common"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
# Rofi theme
|
|
||||||
".config/rofi/themes/common.rasi" = {
|
|
||||||
enable = true;
|
|
||||||
executable = false;
|
|
||||||
text = ''
|
|
||||||
/* ==========================================================================
|
|
||||||
File: common.rasi
|
|
||||||
Desc: Shared rules between all gruvbox themes
|
|
||||||
Author: bardisty <b@bah.im>
|
|
||||||
Source: https://github.com/bardisty/rofi
|
|
||||||
Modified: Mon Feb 12 2018 06:06:47 PST -0800
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
window {
|
|
||||||
background-color: @background;
|
|
||||||
border: 2;
|
|
||||||
padding: 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
mainbox {
|
|
||||||
border: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
message {
|
|
||||||
border: 2px 0 0;
|
|
||||||
border-color: @separatorcolor;
|
|
||||||
padding: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
textbox {
|
|
||||||
highlight: @highlight;
|
|
||||||
text-color: @foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
listview {
|
|
||||||
border: 2px solid 0 0;
|
|
||||||
padding: 2px 0 0;
|
|
||||||
border-color: @separatorcolor;
|
|
||||||
spacing: 2px;
|
|
||||||
scrollbar: @scrollbar;
|
|
||||||
}
|
|
||||||
|
|
||||||
element {
|
|
||||||
border: 0;
|
|
||||||
padding: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element.normal.normal {
|
|
||||||
background-color: @normal-background;
|
|
||||||
text-color: @normal-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
element.normal.urgent {
|
|
||||||
background-color: @urgent-background;
|
|
||||||
text-color: @urgent-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
element.normal.active {
|
|
||||||
background-color: @active-background;
|
|
||||||
text-color: @active-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
element.selected.normal {
|
|
||||||
background-color: @selected-normal-background;
|
|
||||||
text-color: @selected-normal-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
element.selected.urgent {
|
|
||||||
background-color: @selected-urgent-background;
|
|
||||||
text-color: @selected-urgent-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
element.selected.active {
|
|
||||||
background-color: @selected-active-background;
|
|
||||||
text-color: @selected-active-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
element.alternate.normal {
|
|
||||||
background-color: @alternate-normal-background;
|
|
||||||
text-color: @alternate-normal-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
element.alternate.urgent {
|
|
||||||
background-color: @alternate-urgent-background;
|
|
||||||
text-color: @alternate-urgent-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
element.alternate.active {
|
|
||||||
background-color: @alternate-active-background;
|
|
||||||
text-color: @alternate-active-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
scrollbar {
|
|
||||||
width: 4px;
|
|
||||||
border: 0;
|
|
||||||
handle-color: @scrollbar-handle;
|
|
||||||
handle-width: 8px;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
mode-switcher {
|
|
||||||
border: 2px 0 0;
|
|
||||||
border-color: @separatorcolor;
|
|
||||||
}
|
|
||||||
|
|
||||||
inputbar {
|
|
||||||
spacing: 0;
|
|
||||||
text-color: @normal-foreground;
|
|
||||||
padding: 2px;
|
|
||||||
children: [ prompt, textbox-prompt-sep, entry, case-indicator ];
|
|
||||||
}
|
|
||||||
|
|
||||||
case-indicator,
|
|
||||||
entry,
|
|
||||||
prompt,
|
|
||||||
button {
|
|
||||||
spacing: 0;
|
|
||||||
text-color: @normal-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
button.selected {
|
|
||||||
background-color: @selected-normal-background;
|
|
||||||
text-color: @selected-normal-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
textbox-prompt-sep {
|
|
||||||
expand: false;
|
|
||||||
str: ":";
|
|
||||||
text-color: @normal-foreground;
|
|
||||||
margin: 0 0.3em 0 0;
|
|
||||||
}
|
|
||||||
element-text, element-icon {
|
|
||||||
background-color: inherit;
|
|
||||||
text-color: inherit;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,57 +0,0 @@
|
||||||
{ pkgs, ... }: {
|
|
||||||
programs.swaylock = {
|
|
||||||
enable = true;
|
|
||||||
# swaylock-effects has extra effects like image blur and stuff.
|
|
||||||
package = pkgs.swaylock-effects;
|
|
||||||
settings = {
|
|
||||||
# All <color> options are of the form <rrggbb[aa]>.
|
|
||||||
font-size = 96;
|
|
||||||
show-failed-attempts = true;
|
|
||||||
effect-blur = "20x8";
|
|
||||||
screenshots = true;
|
|
||||||
font = "JetBrainsMono Nerd Font";
|
|
||||||
|
|
||||||
clock = true;
|
|
||||||
timestr = "%R";
|
|
||||||
datestr = "%a, %b %d";
|
|
||||||
grace = 5;
|
|
||||||
|
|
||||||
indicator = true;
|
|
||||||
indicator-radius = "130";
|
|
||||||
indicator-thickness = "12";
|
|
||||||
indicator-caps-lock = true;
|
|
||||||
disable-caps-lock-text = false;
|
|
||||||
|
|
||||||
# OTHER
|
|
||||||
key-hl-color = "b8bb26"; #b8bb26 # Sets the color of the key press highlight segments.
|
|
||||||
separator-color = "ebdbb200"; #ebdbb200 # Sets the color of the lines that separate highlight segments.
|
|
||||||
bs-hl-color = "d79921"; #d79921 # Sets the color of backspace highlight segments.
|
|
||||||
# DEFAULT
|
|
||||||
ring-color = "2a9b34"; #2a9b34 # Sets the color of the ring of the indicator.
|
|
||||||
line-color = "ebdbb200"; #ebdbb200 # Sets the color of the line between the inside and ring.
|
|
||||||
text-color = "83a598"; #83a598 # Sets the color of the text.
|
|
||||||
inside-color = "1d202199"; #1d202199 # Sets the color of the inside of the indicator.
|
|
||||||
# VERIFYING
|
|
||||||
ring-ver-color = "41ff58"; #41ff58 # Sets the color of the ring of the indicator when verifying.
|
|
||||||
line-ver-color = "ebdbb200"; #ebdbb200 # Sets the color of the line between the inside and ring when verifying.
|
|
||||||
text-ver-color = "83a59800"; #83a59800 # Sets the color of the text when verifying.
|
|
||||||
inside-ver-color = "1e1e1e99"; #1e1e1e99 # Sets the color of the inside of the indicator when verifying.
|
|
||||||
# WRONG
|
|
||||||
ring-wrong-color = "da6a6a"; #da6a6a # Sets the color of the ring of the indicator when invalid.
|
|
||||||
line-wrong-color = "ebdbb200"; #ebdbb200 # Sets the color of the line between the inside and ring when invalid.
|
|
||||||
text-wrong-color = "83a59800"; #83a59800 # Sets the color of the text when invalid.
|
|
||||||
inside-wrong-color = "1e1e1e99"; #1e1e1e99 # Sets the color of the inside of the indicator when invalid.
|
|
||||||
# CAPS-LOCK
|
|
||||||
ring-caps-lock-color = "2a9b34"; #2a9b34 # Sets the color of the ring of the indicator when Caps Lock is active.
|
|
||||||
line-caps-lock-color = "2a9b3400"; #2a9b3400 # Sets the color of the line between the inside and ring when Caps Lock is active.
|
|
||||||
text-caps-lock-color = "2a9b3400"; #2a9b3400 # Sets the color of the text when Caps Lock is active.
|
|
||||||
inside-caps-lock-color = "1e1e1e99"; #1e1e1e99 # Sets the color of the inside of the indicator when Caps Lock is active.
|
|
||||||
# CLEAR
|
|
||||||
ring-clear-color = "bdae93"; #bdae93 # Sets the color of the ring of the indicator when cleared.
|
|
||||||
line-clear-color = "92837400"; #92837400 # Sets the color of the line between the inside and ring when cleared.
|
|
||||||
text-clear-color = "92837400"; #92837400 # Sets the color of the text when cleared.
|
|
||||||
inside-clear-color = "1e1e1e99"; #1e1e1e99 # Sets the color of the inside of the indicator when cleared.
|
|
||||||
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,274 +0,0 @@
|
||||||
{ ...}: {
|
|
||||||
imports = [ ../../common/waybar/scripts.nix ];
|
|
||||||
|
|
||||||
home.file = {
|
|
||||||
# https://yewtu.be/watch?v=tWQB1NDDA9c
|
|
||||||
# https://github.com/DN-debug/waybar-examples
|
|
||||||
|
|
||||||
# Inspiration:
|
|
||||||
# https://github.com/Pipshag/dotfiles_gruvbox
|
|
||||||
|
|
||||||
# Font Search:
|
|
||||||
# https://www.nerdfonts.com/cheat-sheet
|
|
||||||
|
|
||||||
# Online CSS testing
|
|
||||||
# https://www.w3schools.com/css/tryit.asp?filename=trycss_border_round
|
|
||||||
|
|
||||||
# Waybar configuration
|
|
||||||
".config/waybar/config.jsonc" = {
|
|
||||||
enable = true;
|
|
||||||
executable = false;
|
|
||||||
text = ''
|
|
||||||
{
|
|
||||||
"layer": "top",
|
|
||||||
"position": "top",
|
|
||||||
"modules-left": [
|
|
||||||
"custom/wlogout",
|
|
||||||
"idle_inhibitor",
|
|
||||||
"clock",
|
|
||||||
"mpris",
|
|
||||||
],
|
|
||||||
"modules-center": [
|
|
||||||
"hyprland/workspaces",
|
|
||||||
],
|
|
||||||
"modules-right": [
|
|
||||||
"pulseaudio",
|
|
||||||
"custom/tailscale",
|
|
||||||
"network",
|
|
||||||
"battery",
|
|
||||||
],
|
|
||||||
|
|
||||||
"custom/wlogout": {
|
|
||||||
"format": "",
|
|
||||||
"on-click": "wlogout"
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/tailscale": {
|
|
||||||
"format": "{icon} ",
|
|
||||||
"exec": "$HOME/.config/waybar/scripts/tailscale.sh",
|
|
||||||
"exec-if": "pgrep tailscaled",
|
|
||||||
"return-type": "json",
|
|
||||||
"interval": 5,
|
|
||||||
"format-icons": {
|
|
||||||
"Running": "",
|
|
||||||
"Stopped": "",
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
"idle_inhibitor": {
|
|
||||||
"format": "{icon} ",
|
|
||||||
"format-icons": {
|
|
||||||
"activated": "",
|
|
||||||
"deactivated": ""
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
"mpris": {
|
|
||||||
"format": "{player_icon} {dynamic}",
|
|
||||||
"format-paused": "{status_icon} <i>{dynamic}</i>",
|
|
||||||
"player-icons": { "default": "▶" },
|
|
||||||
"status-icons": { "paused": "⏸" },
|
|
||||||
"max-length": 30,
|
|
||||||
},
|
|
||||||
|
|
||||||
"hyprland/workspaces": {
|
|
||||||
"on-click": "activate",
|
|
||||||
},
|
|
||||||
|
|
||||||
"clock": {
|
|
||||||
"format": " {:%H:%M}",
|
|
||||||
"format-alt": " {:%A, %d %b, %Y}",
|
|
||||||
"tooltip-format": "<tt><small>{calendar}</small></tt>",
|
|
||||||
"calendar": {
|
|
||||||
"mode" : "month",
|
|
||||||
"mode-mon-col" : 3,
|
|
||||||
"weeks-pos" : "left",
|
|
||||||
"on-scroll" : 1,
|
|
||||||
"format": {
|
|
||||||
"months": "<span color='#d9eed2'><b>{}</b></span>",
|
|
||||||
"days": "<span color='#d9eed2'><b>{}</b></span>",
|
|
||||||
"weeks": "<span color='#2a9b34'><b>W{}</b></span>",
|
|
||||||
"weekdays": "<span color='#a6ff3e'><b>{}</b></span>",
|
|
||||||
"today": "<span color='#22ff71'><b><u>{}</u></b></span>"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"actions": {
|
|
||||||
"on-click-right": "kitty -e calcurse",
|
|
||||||
"on-click-middle": "mode",
|
|
||||||
"on-scroll-up": "shift_up",
|
|
||||||
"on-scroll-down": "shift_down"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
"pulseaudio": {
|
|
||||||
"scroll-step": 1,
|
|
||||||
"format": "{icon} {format_source}",
|
|
||||||
"format-bluetooth": "<span foreground='#fb0029'>{volume}% {icon} {format_source}</span>",
|
|
||||||
"format-bluetooth-muted": " ",
|
|
||||||
"format-muted": " {format_source}",
|
|
||||||
"format-source": " <span foreground='#fb0029'></span>",
|
|
||||||
"format-source-muted": " ",
|
|
||||||
"format-icons": {
|
|
||||||
"headphone": " ",
|
|
||||||
"headset": " ",
|
|
||||||
"default": ["", "", ""]
|
|
||||||
},
|
|
||||||
"tooltip": false,
|
|
||||||
"on-click": "kitty -e pulsemixer",
|
|
||||||
},
|
|
||||||
|
|
||||||
"network": {
|
|
||||||
"format": "{ifname}",
|
|
||||||
"format-wifi": " ",
|
|
||||||
"format-ethernet": " {ipaddr}",
|
|
||||||
"format-disconnected": "", // An empty format will hide the module.
|
|
||||||
"tooltip-format": "{ifname} via {gwaddr} ",
|
|
||||||
"tooltip-format-wifi": "{essid} ({signalStrength}%) ",
|
|
||||||
"tooltip-format-ethernet": "{ifname} ",
|
|
||||||
"tooltip-format-disconnected": "Disconnected",
|
|
||||||
"max-length": 50,
|
|
||||||
"on-click": "kitty --class=nmtui -e nmtui"
|
|
||||||
},
|
|
||||||
|
|
||||||
"battery": {
|
|
||||||
"tooltip": true,
|
|
||||||
"tooltip-format": "{time}",
|
|
||||||
"states": {
|
|
||||||
"warning": 35,
|
|
||||||
"critical": 20
|
|
||||||
},
|
|
||||||
"format": "{icon} {capacity}%",
|
|
||||||
"format-charging": " {capacity}%",
|
|
||||||
"format-plugged": " {capacity}%",
|
|
||||||
"format-icons": ["", "", "", "", ""]
|
|
||||||
},
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
# Waybar theming
|
|
||||||
".config/waybar/style.css" = {
|
|
||||||
enable = true;
|
|
||||||
executable = false;
|
|
||||||
text = ''
|
|
||||||
* {
|
|
||||||
border: none;
|
|
||||||
border-radius: 0;
|
|
||||||
font-family: JetbrainsMono Regular;
|
|
||||||
}
|
|
||||||
|
|
||||||
#waybar {
|
|
||||||
background-color: rgba(50, 48, 47, 0.8);
|
|
||||||
padding: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.visible,
|
|
||||||
#workspaces button {
|
|
||||||
font-size: 15px;
|
|
||||||
border-radius: 50px;
|
|
||||||
padding: 0px 5px;
|
|
||||||
margin: 5px;
|
|
||||||
color: rgba(200, 200, 200, 0.5);
|
|
||||||
background-color: #282828;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.active {
|
|
||||||
padding: 0px 15px;
|
|
||||||
background-color: #7A7740;
|
|
||||||
color: rgba(0, 0, 0, 0.5);
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button:hover,
|
|
||||||
#workspaces button.focused:hover,
|
|
||||||
#workspaces button.visible:hover {
|
|
||||||
color: rgba(0, 0, 0, 0.5);
|
|
||||||
background-color: #649a25;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.urgent {
|
|
||||||
background-color: #cc241d;
|
|
||||||
color: rgba(200, 200, 200, 0.5);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* General background
|
|
||||||
*/
|
|
||||||
#network,
|
|
||||||
#mpris,
|
|
||||||
#memory,
|
|
||||||
#backlight,
|
|
||||||
#cpu,
|
|
||||||
#pulseaudio,
|
|
||||||
#temperature,
|
|
||||||
#battery,
|
|
||||||
#tray,
|
|
||||||
#submap,
|
|
||||||
#clock,
|
|
||||||
#idle_inhibitor,
|
|
||||||
#custom-tailscale,
|
|
||||||
#custom-wlogout,
|
|
||||||
#window {
|
|
||||||
font-size: 16px;
|
|
||||||
padding: 0px 10px;
|
|
||||||
margin: 5px;
|
|
||||||
border-radius: 5px;
|
|
||||||
color: rgba(58,60,62, 0.6);
|
|
||||||
background-color: #649a25;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* General background
|
|
||||||
*/
|
|
||||||
#network button:hover,
|
|
||||||
#mpris button:hover,
|
|
||||||
#memory button:hover,
|
|
||||||
#backlight button:hover,
|
|
||||||
#cpu button:hover,
|
|
||||||
#pulseaudio button:hover,
|
|
||||||
#temperature button:hover,
|
|
||||||
#battery button:hover,
|
|
||||||
#tray button:hover,
|
|
||||||
#submap button:hover,
|
|
||||||
#clock button:hover,
|
|
||||||
#idle_inhibitor button:hover,
|
|
||||||
#custom-tailscale button:hover,
|
|
||||||
#custom-wlogout button:hover,
|
|
||||||
#window button:hover{
|
|
||||||
background-color: #d9eed2;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Warning plugins state
|
|
||||||
*/
|
|
||||||
#battery.warning {
|
|
||||||
background-color: #d1ff6d;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Critical plugins state
|
|
||||||
*/
|
|
||||||
#idle_inhibitor.activated,
|
|
||||||
#battery.critical,
|
|
||||||
#custom-tailscale.Stopped,
|
|
||||||
#network.disconnected {
|
|
||||||
color: #d9eed2;
|
|
||||||
background-color: #fb0029;
|
|
||||||
}
|
|
||||||
#battery.charging {
|
|
||||||
background-color: #2a9b34;
|
|
||||||
}
|
|
||||||
#battery.plugged {
|
|
||||||
background-color: #458588;
|
|
||||||
}
|
|
||||||
#pulseaudio.bluetooth {
|
|
||||||
background-color: #458588;
|
|
||||||
}
|
|
||||||
tooltip {
|
|
||||||
color: #d9eed2;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,38 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
xdg.configFile."wlogout/style.css" = {
|
|
||||||
enable = true;
|
|
||||||
target = "./wlogout/style.css";
|
|
||||||
text = ''
|
|
||||||
* {
|
|
||||||
background-image: none;
|
|
||||||
}
|
|
||||||
window {
|
|
||||||
background-color: rgba(58,60,62, 0.6);
|
|
||||||
}
|
|
||||||
button {
|
|
||||||
color: #d9eed2;
|
|
||||||
font-size: 0px;
|
|
||||||
border-radius: 5000px;
|
|
||||||
margin: 25px;
|
|
||||||
background-color: #3a3c3e;
|
|
||||||
border-style: solid;
|
|
||||||
border-width: 3px;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-position: center;
|
|
||||||
background-size: 25%;
|
|
||||||
}
|
|
||||||
|
|
||||||
button:active, button:hover {
|
|
||||||
background-color: #2a9b34;
|
|
||||||
outline-style: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#lock { background-image: url("/etc/nixos/git/home-manager/common/desktops/hyprland/common/wlogout/lock.png"); }
|
|
||||||
#logout { background-image: url("/etc/nixos/git/home-manager/common/desktops/hyprland/common/wlogout/logout.png"); }
|
|
||||||
#suspend { background-image: url("/etc/nixos/git/home-manager/common/desktops/hyprland/common/wlogout/suspend.png"); }
|
|
||||||
#hibernate { background-image: url("/etc/nixos/git/home-manager/common/desktops/hyprland/common/wlogout/hibernate.png"); }
|
|
||||||
#shutdown { background-image: url("/etc/nixos/git/home-manager/common/desktops/hyprland/common/wlogout/shutdown.png"); }
|
|
||||||
#reboot { background-image: url("/etc/nixos/git/home-manager/common/desktops/hyprland/common/wlogout/reboot.png"); }
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,10 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
imports = [
|
|
||||||
./mako-conf.nix
|
|
||||||
./rofi-conf.nix
|
|
||||||
./swaylock-conf.nix
|
|
||||||
./waybar-conf.nix
|
|
||||||
./wlogout-conf.nix
|
|
||||||
./hyprland-conf.nix
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,100 +0,0 @@
|
||||||
{ theme, ... }: {
|
|
||||||
home.file = {
|
|
||||||
".config/hypr/hyprland.conf" = {
|
|
||||||
enable = true;
|
|
||||||
text = ''
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/
|
|
||||||
env = GDK_SCALE,1
|
|
||||||
env = XCURSOR_SIZE,22
|
|
||||||
|
|
||||||
# unscale XWayland
|
|
||||||
xwayland {
|
|
||||||
force_zero_scaling = true
|
|
||||||
}
|
|
||||||
|
|
||||||
layerrule = blur, waybar
|
|
||||||
|
|
||||||
# nVidia Speficic Settings:
|
|
||||||
# https://wiki.hyprland.org/Nvidia/
|
|
||||||
# env = LIBVA_DRIVER_NAME,nvidia
|
|
||||||
# env = XDG_SESSION_TYPE,wayland
|
|
||||||
# env = GBM_BACKEND,nvidia-drm
|
|
||||||
# env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
|
||||||
env = WLR_NO_HARDWARE_CURSORS,1
|
|
||||||
|
|
||||||
general {
|
|
||||||
gaps_in = 5
|
|
||||||
gaps_out = 15
|
|
||||||
border_size = 3
|
|
||||||
# First six are color, last 2 are opacity
|
|
||||||
col.active_border = rgba(d5c4a1bb) # Gruvbox fg2, opacity bb
|
|
||||||
col.inactive_border = rgba(504945dd) # Gruvbox bg2, opacity aa
|
|
||||||
resize_on_border = true
|
|
||||||
extend_border_grab_area = 15
|
|
||||||
layout = dwindle
|
|
||||||
}
|
|
||||||
input {
|
|
||||||
kb_layout = us
|
|
||||||
follow_mouse = 1
|
|
||||||
touchpad {
|
|
||||||
natural_scroll = true
|
|
||||||
disable_while_typing = true
|
|
||||||
tap-to-click = true
|
|
||||||
clickfinger_behavior = true
|
|
||||||
drag_lock = true
|
|
||||||
}
|
|
||||||
sensitivity = 0
|
|
||||||
}
|
|
||||||
gestures {
|
|
||||||
# https://wiki.hyprland.org/0.24.1/Configuring/Keywords/#gestures
|
|
||||||
workspace_swipe = true
|
|
||||||
workspace_swipe_fingers = 3
|
|
||||||
workspace_swipe_numbered = false
|
|
||||||
}
|
|
||||||
misc {
|
|
||||||
disable_hyprland_logo = true
|
|
||||||
mouse_move_enables_dpms = true
|
|
||||||
key_press_enables_dpms = true
|
|
||||||
}
|
|
||||||
decoration {
|
|
||||||
rounding = 5
|
|
||||||
active_opacity = 0.9
|
|
||||||
inactive_opacity = 0.7
|
|
||||||
fullscreen_opacity = 0.9
|
|
||||||
drop_shadow = true
|
|
||||||
shadow_range = 4
|
|
||||||
shadow_render_power = 3
|
|
||||||
col.shadow = rgba(1a1a1aee)
|
|
||||||
blur {
|
|
||||||
size = 8
|
|
||||||
passes = 3
|
|
||||||
ignore_opacity = true
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
animations {
|
|
||||||
# https://wiki.hyprland.org/Configuring/Animations/
|
|
||||||
enabled = true
|
|
||||||
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
|
||||||
animation = windows, 1, 7, myBezier
|
|
||||||
animation = windowsOut, 1, 7, default, popin 80%
|
|
||||||
animation = border, 1, 10, default
|
|
||||||
animation = borderangle, 1, 8, default
|
|
||||||
animation = fade, 1, 7, default
|
|
||||||
animation = workspaces, 1, 6, default
|
|
||||||
}
|
|
||||||
dwindle {
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
|
||||||
pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
|
||||||
preserve_split = true # you probably want this
|
|
||||||
no_gaps_when_only = 1
|
|
||||||
|
|
||||||
}
|
|
||||||
master {
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
|
||||||
new_is_master = true
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,30 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
home.file.".config/mako/config".text = ''
|
|
||||||
max-history=5
|
|
||||||
sort=+time
|
|
||||||
|
|
||||||
on-button-left=dismiss
|
|
||||||
on-button-right=dismiss-all
|
|
||||||
|
|
||||||
font=JetbrainsMono Regular
|
|
||||||
background-color=#252423
|
|
||||||
border-color=#d5c4a1bb
|
|
||||||
text-color=#e2cca9
|
|
||||||
width=300
|
|
||||||
height=100
|
|
||||||
margin=10
|
|
||||||
padding=15
|
|
||||||
border-size=3
|
|
||||||
border-radius=15
|
|
||||||
icons=1
|
|
||||||
max-icon-size=128
|
|
||||||
icon-location=left
|
|
||||||
markup=1
|
|
||||||
actions=1
|
|
||||||
history=1
|
|
||||||
text-alignment=left
|
|
||||||
default-timeout=15000
|
|
||||||
layer=top
|
|
||||||
anchor=top-right
|
|
||||||
'';
|
|
||||||
}
|
|
|
@ -1,223 +0,0 @@
|
||||||
{ ...}: {
|
|
||||||
home.file = {
|
|
||||||
# https://github.com/davatorium/rofi/blob/next/CONFIG.md
|
|
||||||
# Rofi configuration
|
|
||||||
".config/rofi/config.rasi" = {
|
|
||||||
enable = true;
|
|
||||||
executable = false;
|
|
||||||
text = ''
|
|
||||||
configuration {
|
|
||||||
}
|
|
||||||
@theme "gruvbox-dark"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
# Rofi theme
|
|
||||||
".config/rofi/themes/gruvbox-dark.rasi" = {
|
|
||||||
enable = true;
|
|
||||||
executable = false;
|
|
||||||
text = ''
|
|
||||||
/* ==========================================================================
|
|
||||||
Rofi color theme
|
|
||||||
|
|
||||||
Based on the Gruvbox color scheme for Vim by morhetz
|
|
||||||
https://github.com/morhetz/gruvbox
|
|
||||||
|
|
||||||
File: gruvbox-dark.rasi
|
|
||||||
Desc: Gruvbox dark color theme for Rofi
|
|
||||||
Author: bardisty <b@bah.im>
|
|
||||||
Source: https://github.com/bardisty/gruvbox-rofi
|
|
||||||
Modified: Mon Feb 12 2018 04:08:43 PST -0800
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
* {
|
|
||||||
/* Theme settings */
|
|
||||||
highlight: bold italic;
|
|
||||||
scrollbar: true;
|
|
||||||
|
|
||||||
/* Gruvbox dark colors */
|
|
||||||
gruvbox-dark-bg0: #282828;
|
|
||||||
gruvbox-dark-bg0-soft: #32302f;
|
|
||||||
gruvbox-dark-bg3: #665c54;
|
|
||||||
gruvbox-dark-fg0: #fbf1c7;
|
|
||||||
gruvbox-dark-fg1: #ebdbb2;
|
|
||||||
gruvbox-dark-red-dark: #cc241d;
|
|
||||||
gruvbox-dark-red-light: #fb4934;
|
|
||||||
gruvbox-dark-yellow-dark: #d79921;
|
|
||||||
gruvbox-dark-yellow-light: #fabd2f;
|
|
||||||
gruvbox-dark-gray: #a89984;
|
|
||||||
|
|
||||||
/* Theme colors */
|
|
||||||
background: @gruvbox-dark-bg0;
|
|
||||||
background-color: @background;
|
|
||||||
foreground: @gruvbox-dark-fg1;
|
|
||||||
border-color: @gruvbox-dark-gray;
|
|
||||||
separatorcolor: @border-color;
|
|
||||||
scrollbar-handle: @border-color;
|
|
||||||
|
|
||||||
normal-background: @background;
|
|
||||||
normal-foreground: @foreground;
|
|
||||||
alternate-normal-background: @gruvbox-dark-bg0-soft;
|
|
||||||
alternate-normal-foreground: @foreground;
|
|
||||||
selected-normal-background: @gruvbox-dark-bg3;
|
|
||||||
selected-normal-foreground: @gruvbox-dark-fg0;
|
|
||||||
|
|
||||||
active-background: @gruvbox-dark-yellow-dark;
|
|
||||||
active-foreground: @background;
|
|
||||||
alternate-active-background: @active-background;
|
|
||||||
alternate-active-foreground: @active-foreground;
|
|
||||||
selected-active-background: @gruvbox-dark-yellow-light;
|
|
||||||
selected-active-foreground: @active-foreground;
|
|
||||||
|
|
||||||
urgent-background: @gruvbox-dark-red-dark;
|
|
||||||
urgent-foreground: @background;
|
|
||||||
alternate-urgent-background: @urgent-background;
|
|
||||||
alternate-urgent-foreground: @urgent-foreground;
|
|
||||||
selected-urgent-background: @gruvbox-dark-red-light;
|
|
||||||
selected-urgent-foreground: @urgent-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
@import "gruvbox-common"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
# Rofi theme
|
|
||||||
".config/rofi/themes/gruvbox-common.rasi" = {
|
|
||||||
enable = true;
|
|
||||||
executable = false;
|
|
||||||
text = ''
|
|
||||||
/* ==========================================================================
|
|
||||||
File: gruvbox-common.rasi
|
|
||||||
Desc: Shared rules between all gruvbox themes
|
|
||||||
Author: bardisty <b@bah.im>
|
|
||||||
Source: https://github.com/bardisty/gruvbox-rofi
|
|
||||||
Modified: Mon Feb 12 2018 06:06:47 PST -0800
|
|
||||||
========================================================================== */
|
|
||||||
|
|
||||||
window {
|
|
||||||
background-color: @background;
|
|
||||||
border: 2;
|
|
||||||
padding: 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
mainbox {
|
|
||||||
border: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
message {
|
|
||||||
border: 2px 0 0;
|
|
||||||
border-color: @separatorcolor;
|
|
||||||
padding: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
textbox {
|
|
||||||
highlight: @highlight;
|
|
||||||
text-color: @foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
listview {
|
|
||||||
border: 2px solid 0 0;
|
|
||||||
padding: 2px 0 0;
|
|
||||||
border-color: @separatorcolor;
|
|
||||||
spacing: 2px;
|
|
||||||
scrollbar: @scrollbar;
|
|
||||||
}
|
|
||||||
|
|
||||||
element {
|
|
||||||
border: 0;
|
|
||||||
padding: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
element.normal.normal {
|
|
||||||
background-color: @normal-background;
|
|
||||||
text-color: @normal-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
element.normal.urgent {
|
|
||||||
background-color: @urgent-background;
|
|
||||||
text-color: @urgent-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
element.normal.active {
|
|
||||||
background-color: @active-background;
|
|
||||||
text-color: @active-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
element.selected.normal {
|
|
||||||
background-color: @selected-normal-background;
|
|
||||||
text-color: @selected-normal-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
element.selected.urgent {
|
|
||||||
background-color: @selected-urgent-background;
|
|
||||||
text-color: @selected-urgent-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
element.selected.active {
|
|
||||||
background-color: @selected-active-background;
|
|
||||||
text-color: @selected-active-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
element.alternate.normal {
|
|
||||||
background-color: @alternate-normal-background;
|
|
||||||
text-color: @alternate-normal-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
element.alternate.urgent {
|
|
||||||
background-color: @alternate-urgent-background;
|
|
||||||
text-color: @alternate-urgent-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
element.alternate.active {
|
|
||||||
background-color: @alternate-active-background;
|
|
||||||
text-color: @alternate-active-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
scrollbar {
|
|
||||||
width: 4px;
|
|
||||||
border: 0;
|
|
||||||
handle-color: @scrollbar-handle;
|
|
||||||
handle-width: 8px;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
mode-switcher {
|
|
||||||
border: 2px 0 0;
|
|
||||||
border-color: @separatorcolor;
|
|
||||||
}
|
|
||||||
|
|
||||||
inputbar {
|
|
||||||
spacing: 0;
|
|
||||||
text-color: @normal-foreground;
|
|
||||||
padding: 2px;
|
|
||||||
children: [ prompt, textbox-prompt-sep, entry, case-indicator ];
|
|
||||||
}
|
|
||||||
|
|
||||||
case-indicator,
|
|
||||||
entry,
|
|
||||||
prompt,
|
|
||||||
button {
|
|
||||||
spacing: 0;
|
|
||||||
text-color: @normal-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
button.selected {
|
|
||||||
background-color: @selected-normal-background;
|
|
||||||
text-color: @selected-normal-foreground;
|
|
||||||
}
|
|
||||||
|
|
||||||
textbox-prompt-sep {
|
|
||||||
expand: false;
|
|
||||||
str: ":";
|
|
||||||
text-color: @normal-foreground;
|
|
||||||
margin: 0 0.3em 0 0;
|
|
||||||
}
|
|
||||||
element-text, element-icon {
|
|
||||||
background-color: inherit;
|
|
||||||
text-color: inherit;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,57 +0,0 @@
|
||||||
{ pkgs, ... }: {
|
|
||||||
programs.swaylock = {
|
|
||||||
enable = true;
|
|
||||||
# swaylock-effects has extra effects like image blur and stuff.
|
|
||||||
package = pkgs.swaylock-effects;
|
|
||||||
settings = {
|
|
||||||
# All <color> options are of the form <rrggbb[aa]>.
|
|
||||||
font-size = 96;
|
|
||||||
show-failed-attempts = true;
|
|
||||||
effect-blur = "20x8";
|
|
||||||
screenshots = true;
|
|
||||||
font = "JetBrainsMono Nerd Font";
|
|
||||||
|
|
||||||
clock = true;
|
|
||||||
timestr = "%R";
|
|
||||||
datestr = "%a, %b %d";
|
|
||||||
grace = 5;
|
|
||||||
|
|
||||||
indicator = true;
|
|
||||||
indicator-radius = "130";
|
|
||||||
indicator-thickness = "12";
|
|
||||||
indicator-caps-lock = true;
|
|
||||||
disable-caps-lock-text = false;
|
|
||||||
|
|
||||||
# OTHER
|
|
||||||
key-hl-color = "b8bb26"; #b8bb26 # Sets the color of the key press highlight segments.
|
|
||||||
separator-color = "ebdbb200"; #ebdbb200 # Sets the color of the lines that separate highlight segments.
|
|
||||||
bs-hl-color = "d79921"; #d79921 # Sets the color of backspace highlight segments.
|
|
||||||
# DEFAULT
|
|
||||||
ring-color = "d65d0e"; #d65d0e # Sets the color of the ring of the indicator.
|
|
||||||
line-color = "ebdbb200"; #ebdbb200 # Sets the color of the line between the inside and ring.
|
|
||||||
text-color = "83a598"; #83a598 # Sets the color of the text.
|
|
||||||
inside-color = "1d202199"; #1d202199 # Sets the color of the inside of the indicator.
|
|
||||||
# VERIFYING
|
|
||||||
ring-ver-color = "fe8019"; #fe8019 # Sets the color of the ring of the indicator when verifying.
|
|
||||||
line-ver-color = "ebdbb200"; #ebdbb200 # Sets the color of the line between the inside and ring when verifying.
|
|
||||||
text-ver-color = "83a59800"; #83a59800 # Sets the color of the text when verifying.
|
|
||||||
inside-ver-color = "3c383699"; #3c383699 # Sets the color of the inside of the indicator when verifying.
|
|
||||||
# WRONG
|
|
||||||
ring-wrong-color = "fb4934"; #fb4934 # Sets the color of the ring of the indicator when invalid.
|
|
||||||
line-wrong-color = "ebdbb200"; #ebdbb200 # Sets the color of the line between the inside and ring when invalid.
|
|
||||||
text-wrong-color = "83a59800"; #83a59800 # Sets the color of the text when invalid.
|
|
||||||
inside-wrong-color = "3c383699"; #3c383699 # Sets the color of the inside of the indicator when invalid.
|
|
||||||
# CAPS-LOCK
|
|
||||||
ring-caps-lock-color = "d65d0e"; #d65d0e # Sets the color of the ring of the indicator when Caps Lock is active.
|
|
||||||
line-caps-lock-color = "d65d0e00"; #d65d0e00 # Sets the color of the line between the inside and ring when Caps Lock is active.
|
|
||||||
text-caps-lock-color = "d65d0e00"; #d65d0e00 # Sets the color of the text when Caps Lock is active.
|
|
||||||
inside-caps-lock-color = "3c383699"; #3c383699 # Sets the color of the inside of the indicator when Caps Lock is active.
|
|
||||||
# CLEAR
|
|
||||||
ring-clear-color = "bdae93"; #bdae93 # Sets the color of the ring of the indicator when cleared.
|
|
||||||
line-clear-color = "92837400"; #92837400 # Sets the color of the line between the inside and ring when cleared.
|
|
||||||
text-clear-color = "92837400"; #92837400 # Sets the color of the text when cleared.
|
|
||||||
inside-clear-color = "3c383699"; #3c383699 # Sets the color of the inside of the indicator when cleared.
|
|
||||||
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,274 +0,0 @@
|
||||||
{ ...}: {
|
|
||||||
imports = [ ../../common/waybar/scripts.nix ];
|
|
||||||
|
|
||||||
home.file = {
|
|
||||||
# https://yewtu.be/watch?v=tWQB1NDDA9c
|
|
||||||
# https://github.com/DN-debug/waybar-examples
|
|
||||||
|
|
||||||
# Inspiration:
|
|
||||||
# https://github.com/Pipshag/dotfiles_gruvbox
|
|
||||||
|
|
||||||
# Font Search:
|
|
||||||
# https://www.nerdfonts.com/cheat-sheet
|
|
||||||
|
|
||||||
# Online CSS testing
|
|
||||||
# https://www.w3schools.com/css/tryit.asp?filename=trycss_border_round
|
|
||||||
|
|
||||||
# Waybar configuration
|
|
||||||
".config/waybar/config.jsonc" = {
|
|
||||||
enable = true;
|
|
||||||
executable = false;
|
|
||||||
text = ''
|
|
||||||
{
|
|
||||||
"layer": "top",
|
|
||||||
"position": "top",
|
|
||||||
"modules-left": [
|
|
||||||
"custom/wlogout",
|
|
||||||
"idle_inhibitor",
|
|
||||||
"clock",
|
|
||||||
"mpris",
|
|
||||||
],
|
|
||||||
"modules-center": [
|
|
||||||
"hyprland/workspaces",
|
|
||||||
],
|
|
||||||
"modules-right": [
|
|
||||||
"pulseaudio",
|
|
||||||
"custom/tailscale",
|
|
||||||
"network",
|
|
||||||
"battery",
|
|
||||||
],
|
|
||||||
|
|
||||||
"custom/wlogout": {
|
|
||||||
"format": "",
|
|
||||||
"on-click": "wlogout"
|
|
||||||
},
|
|
||||||
|
|
||||||
"custom/tailscale": {
|
|
||||||
"format": "{icon} ",
|
|
||||||
"exec": "$HOME/.config/waybar/scripts/tailscale.sh",
|
|
||||||
"exec-if": "pgrep tailscaled",
|
|
||||||
"return-type": "json",
|
|
||||||
"interval": 5,
|
|
||||||
"format-icons": {
|
|
||||||
"Running": "",
|
|
||||||
"Stopped": "",
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
"idle_inhibitor": {
|
|
||||||
"format": "{icon} ",
|
|
||||||
"format-icons": {
|
|
||||||
"activated": "",
|
|
||||||
"deactivated": ""
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
"mpris": {
|
|
||||||
"format": "{player_icon} {dynamic}",
|
|
||||||
"format-paused": "{status_icon} <i>{dynamic}</i>",
|
|
||||||
"player-icons": { "default": "▶" },
|
|
||||||
"status-icons": { "paused": "⏸" },
|
|
||||||
"max-length": 30,
|
|
||||||
},
|
|
||||||
|
|
||||||
"hyprland/workspaces": {
|
|
||||||
"on-click": "activate",
|
|
||||||
},
|
|
||||||
|
|
||||||
"clock": {
|
|
||||||
"format": " {:%H:%M}",
|
|
||||||
"format-alt": " {:%A, %d %b, %Y}",
|
|
||||||
"tooltip-format": "<tt><small>{calendar}</small></tt>",
|
|
||||||
"calendar": {
|
|
||||||
"mode" : "month",
|
|
||||||
"mode-mon-col" : 3,
|
|
||||||
"weeks-pos" : "left",
|
|
||||||
"on-scroll" : 1,
|
|
||||||
"format": {
|
|
||||||
"months": "<span color='#e2cca9'><b>{}</b></span>",
|
|
||||||
"days": "<span color='#e2cca9'><b>{}</b></span>",
|
|
||||||
"weeks": "<span color='#b0b846'><b>W{}</b></span>",
|
|
||||||
"weekdays": "<span color='#e9b143'><b>{}</b></span>",
|
|
||||||
"today": "<span color='#f28534'><b><u>{}</u></b></span>"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"actions": {
|
|
||||||
"on-click-right": "kitty -e calcurse",
|
|
||||||
"on-click-middle": "mode",
|
|
||||||
"on-scroll-up": "shift_up",
|
|
||||||
"on-scroll-down": "shift_down"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
"pulseaudio": {
|
|
||||||
"scroll-step": 1,
|
|
||||||
"format": "{icon} {format_source}",
|
|
||||||
"format-bluetooth": "<span foreground='#f2594b'>{volume}% {icon} {format_source}</span>",
|
|
||||||
"format-bluetooth-muted": " ",
|
|
||||||
"format-muted": " {format_source}",
|
|
||||||
"format-source": " <span foreground='#f2594b'></span>",
|
|
||||||
"format-source-muted": " ",
|
|
||||||
"format-icons": {
|
|
||||||
"headphone": " ",
|
|
||||||
"headset": " ",
|
|
||||||
"default": ["", "", ""]
|
|
||||||
},
|
|
||||||
"tooltip": false,
|
|
||||||
"on-click": "kitty -e pulsemixer",
|
|
||||||
},
|
|
||||||
|
|
||||||
"network": {
|
|
||||||
"format": "{ifname}",
|
|
||||||
"format-wifi": " ",
|
|
||||||
"format-ethernet": " {ipaddr}",
|
|
||||||
"format-disconnected": "", // An empty format will hide the module.
|
|
||||||
"tooltip-format": "{ifname} via {gwaddr} ",
|
|
||||||
"tooltip-format-wifi": "{essid} ({signalStrength}%) ",
|
|
||||||
"tooltip-format-ethernet": "{ifname} ",
|
|
||||||
"tooltip-format-disconnected": "Disconnected",
|
|
||||||
"max-length": 50,
|
|
||||||
"on-click": "kitty --class=nmtui -e nmtui"
|
|
||||||
},
|
|
||||||
|
|
||||||
"battery": {
|
|
||||||
"tooltip": true,
|
|
||||||
"tooltip-format": "{time}",
|
|
||||||
"states": {
|
|
||||||
"warning": 35,
|
|
||||||
"critical": 20
|
|
||||||
},
|
|
||||||
"format": "{icon} {capacity}%",
|
|
||||||
"format-charging": " {capacity}%",
|
|
||||||
"format-plugged": " {capacity}%",
|
|
||||||
"format-icons": ["", "", "", "", ""]
|
|
||||||
},
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
# Waybar theming
|
|
||||||
".config/waybar/style.css" = {
|
|
||||||
enable = true;
|
|
||||||
executable = false;
|
|
||||||
text = ''
|
|
||||||
* {
|
|
||||||
border: none;
|
|
||||||
border-radius: 0;
|
|
||||||
font-family: JetbrainsMono Regular;
|
|
||||||
}
|
|
||||||
|
|
||||||
#waybar {
|
|
||||||
background-color: rgba(50, 48, 47, 0.8);
|
|
||||||
padding: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.visible,
|
|
||||||
#workspaces button {
|
|
||||||
font-size: 15px;
|
|
||||||
border-radius: 50px;
|
|
||||||
padding: 0px 5px;
|
|
||||||
margin: 5px;
|
|
||||||
color: rgba(200, 200, 200, 0.5);
|
|
||||||
background-color: #282828;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.active {
|
|
||||||
padding: 0px 15px;
|
|
||||||
background-color: #a89984;
|
|
||||||
color: rgba(0, 0, 0, 0.5);
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button:hover,
|
|
||||||
#workspaces button.focused:hover,
|
|
||||||
#workspaces button.visible:hover {
|
|
||||||
color: rgba(0, 0, 0, 0.5);
|
|
||||||
background-color: #d5c4a1;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.urgent {
|
|
||||||
background-color: #cc241d;
|
|
||||||
color: rgba(200, 200, 200, 0.5);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* General background
|
|
||||||
*/
|
|
||||||
#network,
|
|
||||||
#mpris,
|
|
||||||
#memory,
|
|
||||||
#backlight,
|
|
||||||
#cpu,
|
|
||||||
#pulseaudio,
|
|
||||||
#temperature,
|
|
||||||
#battery,
|
|
||||||
#tray,
|
|
||||||
#submap,
|
|
||||||
#clock,
|
|
||||||
#idle_inhibitor,
|
|
||||||
#custom-tailscale,
|
|
||||||
#custom-wlogout,
|
|
||||||
#window {
|
|
||||||
font-size: 16px;
|
|
||||||
padding: 0px 10px;
|
|
||||||
margin: 5px;
|
|
||||||
border-radius: 5px;
|
|
||||||
color: rgba(50, 48, 47, 0.8);
|
|
||||||
background-color: #a89984;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* General background
|
|
||||||
*/
|
|
||||||
#network button:hover,
|
|
||||||
#mpris button:hover,
|
|
||||||
#memory button:hover,
|
|
||||||
#backlight button:hover,
|
|
||||||
#cpu button:hover,
|
|
||||||
#pulseaudio button:hover,
|
|
||||||
#temperature button:hover,
|
|
||||||
#battery button:hover,
|
|
||||||
#tray button:hover,
|
|
||||||
#submap button:hover,
|
|
||||||
#clock button:hover,
|
|
||||||
#idle_inhibitor button:hover,
|
|
||||||
#custom-tailscale button:hover,
|
|
||||||
#custom-wlogout button:hover,
|
|
||||||
#window button:hover{
|
|
||||||
background-color: #d5c4a1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Warning plugins state
|
|
||||||
*/
|
|
||||||
#battery.warning {
|
|
||||||
background-color: #e9b143;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Critical plugins state
|
|
||||||
*/
|
|
||||||
#idle_inhibitor.activated,
|
|
||||||
#battery.critical,
|
|
||||||
#custom-tailscale.Stopped,
|
|
||||||
#network.disconnected {
|
|
||||||
color: #e2cca9;
|
|
||||||
background-color: #cc241d;
|
|
||||||
}
|
|
||||||
#battery.charging {
|
|
||||||
background-color: #98971a;
|
|
||||||
}
|
|
||||||
#battery.plugged {
|
|
||||||
background-color: #458588;
|
|
||||||
}
|
|
||||||
#pulseaudio.bluetooth {
|
|
||||||
background-color: #458588;
|
|
||||||
}
|
|
||||||
tooltip {
|
|
||||||
color: #e2cca9;
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,38 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
xdg.configFile."wlogout/style.css" = {
|
|
||||||
enable = true;
|
|
||||||
target = "./wlogout/style.css";
|
|
||||||
text = ''
|
|
||||||
* {
|
|
||||||
background-image: none;
|
|
||||||
}
|
|
||||||
window {
|
|
||||||
background-color: rgba(50, 48, 47, 0.8);
|
|
||||||
}
|
|
||||||
button {
|
|
||||||
color: #d5c4a1;
|
|
||||||
font-size: 0px;
|
|
||||||
border-radius: 5000px;
|
|
||||||
margin: 25px;
|
|
||||||
background-color: #1E1E1E;
|
|
||||||
border-style: solid;
|
|
||||||
border-width: 3px;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-position: center;
|
|
||||||
background-size: 25%;
|
|
||||||
}
|
|
||||||
|
|
||||||
button:active, button:hover {
|
|
||||||
background-color: #504945;
|
|
||||||
outline-style: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#lock { background-image: url("/etc/nixos/git/home-manager/common/desktops/hyprland/common/wlogout/lock.png"); }
|
|
||||||
#logout { background-image: url("/etc/nixos/git/home-manager/common/desktops/hyprland/common/wlogout/logout.png"); }
|
|
||||||
#suspend { background-image: url("/etc/nixos/git/home-manager/common/desktops/hyprland/common/wlogout/suspend.png"); }
|
|
||||||
#hibernate { background-image: url("/etc/nixos/git/home-manager/common/desktops/hyprland/common/wlogout/hibernate.png"); }
|
|
||||||
#shutdown { background-image: url("/etc/nixos/git/home-manager/common/desktops/hyprland/common/wlogout/shutdown.png"); }
|
|
||||||
#reboot { background-image: url("/etc/nixos/git/home-manager/common/desktops/hyprland/common/wlogout/reboot.png"); }
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,10 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
imports = [
|
|
||||||
./mako-conf.nix
|
|
||||||
./rofi-conf.nix
|
|
||||||
./swaylock-conf.nix
|
|
||||||
./waybar-conf.nix
|
|
||||||
./wlogout-conf.nix
|
|
||||||
./hyprland-conf.nix
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -1,78 +0,0 @@
|
||||||
{ theme, ... }: {
|
|
||||||
wayland.windowManager.hyprland = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
layerrule = "blur, waybar";
|
|
||||||
xwayland.force_zero_scaling = true;
|
|
||||||
general = {
|
|
||||||
gaps_in = "8";
|
|
||||||
gaps_out = "8";
|
|
||||||
border_size = "2";
|
|
||||||
resize_on_border = "true";
|
|
||||||
extend_border_grab_area = "15";
|
|
||||||
layout = "dwindle";
|
|
||||||
};
|
|
||||||
input = {
|
|
||||||
kb_layout = "us";
|
|
||||||
follow_mouse = "1";
|
|
||||||
touchpad = {
|
|
||||||
natural_scroll = true;
|
|
||||||
disable_while_typing = true;
|
|
||||||
tap-to-click = true;
|
|
||||||
clickfinger_behavior = true;
|
|
||||||
drag_lock = true;
|
|
||||||
};
|
|
||||||
sensitivity = 0;
|
|
||||||
};
|
|
||||||
gestures = {
|
|
||||||
workspace_swipe = true;
|
|
||||||
workspace_swipe_fingers = 3;
|
|
||||||
workspace_swipe_numbered = false;
|
|
||||||
};
|
|
||||||
misc = {
|
|
||||||
disable_hyprland_logo = true;
|
|
||||||
mouse_move_enables_dpms = true;
|
|
||||||
key_press_enables_dpms = true;
|
|
||||||
};
|
|
||||||
decoration = {
|
|
||||||
rounding = 5;
|
|
||||||
active_opacity = 0.8;
|
|
||||||
inactive_opacity = 0.6;
|
|
||||||
fullscreen_opacity = 1.0;
|
|
||||||
drop_shadow = true;
|
|
||||||
shadow_range = 4;
|
|
||||||
shadow_render_power = 3;
|
|
||||||
blur = {
|
|
||||||
size = 8;
|
|
||||||
passes = 3;
|
|
||||||
ignore_opacity = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
animations = {
|
|
||||||
enabled = true;
|
|
||||||
bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
|
|
||||||
animation = [
|
|
||||||
"windows,1,7,myBezier"
|
|
||||||
"windowsOut,1,7,default,popin 80%"
|
|
||||||
"border,1,10,default"
|
|
||||||
"borderangle,1,8,default"
|
|
||||||
"fade,1,7,default"
|
|
||||||
"workspaces,1,6,default"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
dwindle = {
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
|
||||||
pseudotile = true; # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
|
||||||
preserve_split = true;# you probably want this
|
|
||||||
no_gaps_when_only = 1;
|
|
||||||
};
|
|
||||||
master.new_is_master = true;
|
|
||||||
windowrule = [
|
|
||||||
"noblur,^(firefox)$" # disables blur for firefox
|
|
||||||
"opacity 1.0 override,^(firefox)$"
|
|
||||||
"noblur,^(steam)$" # disables blur for steam
|
|
||||||
"opacity 1.0 override,^(steam)$"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 5.7 KiB |
Before Width: | Height: | Size: 5 KiB After Width: | Height: | Size: 5 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
@ -9,8 +9,9 @@
|
||||||
# https://github.com/justjanne/powerline-go#customization
|
# https://github.com/justjanne/powerline-go#customization
|
||||||
settings = {
|
settings = {
|
||||||
hostname-only-if-ssh = true;
|
hostname-only-if-ssh = true;
|
||||||
cwd-max-depth = 1;
|
cwd-max-depth = 2;
|
||||||
condensed = false;
|
condensed = false;
|
||||||
|
theme = "low-contrast";
|
||||||
# valid choices: default, low-contrast, gruvbox, solarized-dark16, solarized-light16
|
# valid choices: default, low-contrast, gruvbox, solarized-dark16, solarized-light16
|
||||||
# theme = "gruvbox";
|
# theme = "gruvbox";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,13 +1,12 @@
|
||||||
{ theme, hostname, ... }: {
|
{ theme, hostname, ... }: {
|
||||||
imports = [
|
imports = [
|
||||||
./bash.nix
|
./bash.nix
|
||||||
|
./btop.nix
|
||||||
./doom-emacs.nix
|
./doom-emacs.nix
|
||||||
./git.nix
|
./git.nix
|
||||||
./neofetch.nix
|
./neofetch.nix
|
||||||
./neovim.nix
|
./neovim.nix
|
||||||
./ranger.nix
|
./ranger.nix
|
||||||
./ssh.nix
|
./ssh.nix
|
||||||
|
|
||||||
./themes/${theme}/btop.nix
|
|
||||||
];
|
];
|
||||||
}
|
}
|
|
@ -2,7 +2,7 @@
|
||||||
programs.doom-emacs = {
|
programs.doom-emacs = {
|
||||||
emacsPackage = pkgs.emacs;
|
emacsPackage = pkgs.emacs;
|
||||||
enable = true;
|
enable = true;
|
||||||
doomPrivateDir = ./themes/${theme}/doom-emacs.d;
|
doomPrivateDir = ./doom-emacs.d;
|
||||||
};
|
};
|
||||||
programs.ripgrep.enable = true;
|
programs.ripgrep.enable = true;
|
||||||
|
|
||||||
|
|
|
@ -1,83 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
home.file.".config/btop/btop.conf".text = ''
|
|
||||||
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
|
||||||
#* color_theme = "gruvbox_dark_v2"
|
|
||||||
theme_background = True
|
|
||||||
truecolor = True
|
|
||||||
force_tty = False
|
|
||||||
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
|
|
||||||
vim_keys = False
|
|
||||||
rounded_corners = True
|
|
||||||
|
|
||||||
#* Default symbols to use for graph creation, "braille", "block" or "tty".
|
|
||||||
#* "braille" offers the highest resolution but might not be included in all fonts.
|
|
||||||
#* "block" has half the resolution of braille but uses more common characters.
|
|
||||||
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
|
|
||||||
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
|
|
||||||
graph_symbol = "braille"
|
|
||||||
graph_symbol_cpu = "default"
|
|
||||||
graph_symbol_mem = "default"
|
|
||||||
graph_symbol_net = "default"
|
|
||||||
graph_symbol_proc = "default"
|
|
||||||
shown_boxes = "cpu net proc mem"
|
|
||||||
update_ms = 1000
|
|
||||||
|
|
||||||
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
|
||||||
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
|
||||||
proc_sorting = "cpu lazy"
|
|
||||||
|
|
||||||
proc_reversed = False
|
|
||||||
proc_tree = True
|
|
||||||
proc_colors = True
|
|
||||||
proc_gradient = True
|
|
||||||
proc_per_core = False
|
|
||||||
proc_mem_bytes = True
|
|
||||||
proc_cpu_graphs = True
|
|
||||||
proc_info_smaps = False
|
|
||||||
proc_left = False
|
|
||||||
proc_filter_kernel = False
|
|
||||||
cpu_graph_upper = "total"
|
|
||||||
cpu_graph_lower = "total"
|
|
||||||
cpu_invert_lower = True
|
|
||||||
cpu_single_graph = False
|
|
||||||
cpu_bottom = False
|
|
||||||
show_uptime = True
|
|
||||||
check_temp = True
|
|
||||||
cpu_sensor = "Auto"
|
|
||||||
show_coretemp = True
|
|
||||||
cpu_core_map = ""
|
|
||||||
temp_scale = "celsius"
|
|
||||||
base_10_sizes = False
|
|
||||||
show_cpu_freq = True
|
|
||||||
|
|
||||||
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
|
|
||||||
clock_format = "[/user@/host] [/uptime] [%X]"
|
|
||||||
|
|
||||||
background_update = True
|
|
||||||
custom_cpu_name = ""
|
|
||||||
disks_filter = ""
|
|
||||||
mem_graphs = True
|
|
||||||
mem_below_net = False
|
|
||||||
zfs_arc_cached = True
|
|
||||||
show_swap = True
|
|
||||||
swap_disk = True
|
|
||||||
show_disks = True
|
|
||||||
only_physical = True
|
|
||||||
use_fstab = True
|
|
||||||
zfs_hide_datasets = False
|
|
||||||
disk_free_priv = False
|
|
||||||
show_io_stat = True
|
|
||||||
io_mode = False
|
|
||||||
io_graph_combined = False
|
|
||||||
io_graph_speeds = ""
|
|
||||||
net_download = 100
|
|
||||||
net_upload = 100
|
|
||||||
net_auto = True
|
|
||||||
net_sync = False
|
|
||||||
net_iface = ""
|
|
||||||
show_battery = True
|
|
||||||
selected_battery = "Auto"
|
|
||||||
log_level = "WARNING"
|
|
||||||
|
|
||||||
'';
|
|
||||||
}
|
|
|
@ -1,83 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
home.file.".config/btop/btop.conf".text = ''
|
|
||||||
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
|
||||||
color_theme = "everforest-dark-hard"
|
|
||||||
theme_background = True
|
|
||||||
truecolor = True
|
|
||||||
force_tty = False
|
|
||||||
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
|
|
||||||
vim_keys = False
|
|
||||||
rounded_corners = True
|
|
||||||
|
|
||||||
#* Default symbols to use for graph creation, "braille", "block" or "tty".
|
|
||||||
#* "braille" offers the highest resolution but might not be included in all fonts.
|
|
||||||
#* "block" has half the resolution of braille but uses more common characters.
|
|
||||||
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
|
|
||||||
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
|
|
||||||
graph_symbol = "braille"
|
|
||||||
graph_symbol_cpu = "default"
|
|
||||||
graph_symbol_mem = "default"
|
|
||||||
graph_symbol_net = "default"
|
|
||||||
graph_symbol_proc = "default"
|
|
||||||
shown_boxes = "cpu net proc mem"
|
|
||||||
update_ms = 1000
|
|
||||||
|
|
||||||
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
|
||||||
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
|
||||||
proc_sorting = "cpu lazy"
|
|
||||||
|
|
||||||
proc_reversed = False
|
|
||||||
proc_tree = True
|
|
||||||
proc_colors = True
|
|
||||||
proc_gradient = True
|
|
||||||
proc_per_core = False
|
|
||||||
proc_mem_bytes = True
|
|
||||||
proc_cpu_graphs = True
|
|
||||||
proc_info_smaps = False
|
|
||||||
proc_left = False
|
|
||||||
proc_filter_kernel = False
|
|
||||||
cpu_graph_upper = "total"
|
|
||||||
cpu_graph_lower = "total"
|
|
||||||
cpu_invert_lower = True
|
|
||||||
cpu_single_graph = False
|
|
||||||
cpu_bottom = False
|
|
||||||
show_uptime = True
|
|
||||||
check_temp = True
|
|
||||||
cpu_sensor = "Auto"
|
|
||||||
show_coretemp = True
|
|
||||||
cpu_core_map = ""
|
|
||||||
temp_scale = "celsius"
|
|
||||||
base_10_sizes = False
|
|
||||||
show_cpu_freq = True
|
|
||||||
|
|
||||||
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
|
|
||||||
clock_format = "[/user@/host] [/uptime] [%X]"
|
|
||||||
|
|
||||||
background_update = True
|
|
||||||
custom_cpu_name = ""
|
|
||||||
disks_filter = ""
|
|
||||||
mem_graphs = True
|
|
||||||
mem_below_net = False
|
|
||||||
zfs_arc_cached = True
|
|
||||||
show_swap = True
|
|
||||||
swap_disk = True
|
|
||||||
show_disks = True
|
|
||||||
only_physical = True
|
|
||||||
use_fstab = True
|
|
||||||
zfs_hide_datasets = False
|
|
||||||
disk_free_priv = False
|
|
||||||
show_io_stat = True
|
|
||||||
io_mode = False
|
|
||||||
io_graph_combined = False
|
|
||||||
io_graph_speeds = ""
|
|
||||||
net_download = 100
|
|
||||||
net_upload = 100
|
|
||||||
net_auto = True
|
|
||||||
net_sync = False
|
|
||||||
net_iface = ""
|
|
||||||
show_battery = True
|
|
||||||
selected_battery = "Auto"
|
|
||||||
log_level = "WARNING"
|
|
||||||
|
|
||||||
'';
|
|
||||||
}
|
|
|
@ -1,22 +0,0 @@
|
||||||
;; Themes
|
|
||||||
(setq doom-theme 'doom-pine)
|
|
||||||
(setq doom-themes-treemacs-theme "doom-colors")
|
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
;; LSP Modules
|
|
||||||
;; Bash
|
|
||||||
(use-package lsp-mode
|
|
||||||
:commands lsp
|
|
||||||
:hook
|
|
||||||
(sh-mode . lsp))
|
|
||||||
|
|
||||||
;; Python
|
|
||||||
(defun lspython ()
|
|
||||||
"Updates the lsp-python-ms-executable variable and runs lsp."
|
|
||||||
(interactive)
|
|
||||||
(setq lsp-python-ms-executable (executable-find "python-lsp-server"))
|
|
||||||
(lsp-deferred))
|
|
||||||
|
|
||||||
;; Rust
|
|
||||||
(after! rustic
|
|
||||||
(setq rustic-lsp-server 'rls))
|
|
|
@ -1,193 +0,0 @@
|
||||||
;;; init.el -*- lexical-binding: t; -*-
|
|
||||||
|
|
||||||
;; This file controls what Doom modules are enabled and what order they load
|
|
||||||
;; in. Remember to run 'doom sync' after modifying it!
|
|
||||||
|
|
||||||
;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
|
|
||||||
;; documentation. There you'll find a "Module Index" link where you'll find
|
|
||||||
;; a comprehensive list of Doom's modules and what flags they support.
|
|
||||||
|
|
||||||
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
|
|
||||||
;; 'C-c c k' for non-vim users) to view its documentation. This works on
|
|
||||||
;; flags as well (those symbols that start with a plus).
|
|
||||||
;;
|
|
||||||
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
|
|
||||||
;; directory (for easy access to its source code).
|
|
||||||
|
|
||||||
(doom! :input
|
|
||||||
;;chinese
|
|
||||||
;;japanese
|
|
||||||
;;layout ; auie,ctsrnm is the superior home row
|
|
||||||
|
|
||||||
:completion
|
|
||||||
company ; the ultimate code completion backend
|
|
||||||
ivy ; a search engine for love and life
|
|
||||||
vertico ; the search engine of the future
|
|
||||||
;;ido ; the other *other* search engine...
|
|
||||||
;;helm ; the *other* search engine for love and life
|
|
||||||
|
|
||||||
:ui
|
|
||||||
doom ; what makes DOOM look the way it does
|
|
||||||
doom-dashboard ; a nifty splash screen for Emacs
|
|
||||||
;;doom-quit ; DOOM quit-message prompts when you quit Emacs
|
|
||||||
(emoji +unicode) ; 🙂
|
|
||||||
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
|
|
||||||
indent-guides ; highlighted indent columns
|
|
||||||
ligatures ; ligatures and symbols to make your code pretty again
|
|
||||||
minimap ; show a map of the code on the side
|
|
||||||
modeline ; snazzy, Atom-inspired modeline, plus API
|
|
||||||
nav-flash ; blink cursor line after big motions
|
|
||||||
ophints ; highlight the region an operation acts on
|
|
||||||
(popup +defaults) ; tame sudden yet inevitable temporary windows
|
|
||||||
;; tabs ; a tab bar for Emacs
|
|
||||||
treemacs ; a project drawer, like neotree but cooler
|
|
||||||
vc-gutter ; vcs diff in the fringe
|
|
||||||
vi-tilde-fringe ; fringe tildes to mark beyond EOB
|
|
||||||
window-select ; visually switch windows
|
|
||||||
workspaces ; tab emulation, persistence & separate workspaces
|
|
||||||
zen ; distraction-free coding or writing
|
|
||||||
;;unicode ; extended unicode support for various languages
|
|
||||||
;;hydra
|
|
||||||
;;neotree ; a project drawer, like NERDTree for vim
|
|
||||||
;;deft ; notational velocity for Emacs
|
|
||||||
|
|
||||||
:editor
|
|
||||||
(evil +everywhere) ; come to the dark side, we have cookies
|
|
||||||
file-templates ; auto-snippets for empty files
|
|
||||||
fold ; (nigh) universal code folding
|
|
||||||
snippets ; my elves. They type so I don't have to
|
|
||||||
|
|
||||||
;;(format +onsave) ; automated prettiness
|
|
||||||
;;god ; run Emacs commands without modifier keys
|
|
||||||
;;lispy ; vim for lisp, for people who don't like vim
|
|
||||||
;;multiple-cursors ; editing in many places at once
|
|
||||||
;;objed ; text object editing for the innocent
|
|
||||||
;;parinfer ; turn lisp into python, sort of
|
|
||||||
;;rotate-text ; cycle region at point between text candidates
|
|
||||||
;;word-wrap ; soft wrapping with language-aware indent
|
|
||||||
|
|
||||||
:emacs
|
|
||||||
dired ; making dired pretty [functional]
|
|
||||||
electric ; smarter, keyword-based electric-indent
|
|
||||||
ibuffer ; interactive buffer management
|
|
||||||
undo ; persistent, smarter undo for your inevitable mistakes
|
|
||||||
vc ; version-control and Emacs, sitting in a tree
|
|
||||||
|
|
||||||
:term
|
|
||||||
vterm ; the best terminal emulation in Emacs
|
|
||||||
;;eshell ; the elisp shell that works everywhere
|
|
||||||
;;shell ; simple shell REPL for Emacs
|
|
||||||
;;term ; basic terminal emulator for Emacs
|
|
||||||
|
|
||||||
:checkers
|
|
||||||
syntax ; tasing you for every semicolon you forget
|
|
||||||
;;(spell +flyspell) ; tasing you for misspelling mispelling
|
|
||||||
;;grammar ; tasing grammar mistake every you make
|
|
||||||
|
|
||||||
:tools
|
|
||||||
(eval +overlay) ; run code, run (also, repls)
|
|
||||||
lookup ; navigate your code and its documentation
|
|
||||||
lsp ; M-x vscode
|
|
||||||
magit ; a git porcelain for Emacs
|
|
||||||
;;ansible
|
|
||||||
;;biblio ; Writes a PhD for you (citation needed)
|
|
||||||
;;debugger ; FIXME stepping through code, to help you add bugs
|
|
||||||
;;direnv
|
|
||||||
;;docker
|
|
||||||
;;editorconfig ; let someone else argue about tabs vs spaces
|
|
||||||
;;ein ; tame Jupyter notebooks with emacs
|
|
||||||
;;gist ; interacting with github gists
|
|
||||||
;;make ; run make tasks from Emacs
|
|
||||||
;;pass ; password manager for nerds
|
|
||||||
;;pdf ; pdf enhancements
|
|
||||||
;;prodigy ; FIXME managing external services & code builders
|
|
||||||
;;rgb ; creating color strings
|
|
||||||
;;taskrunner ; taskrunner for all your projects
|
|
||||||
;;terraform ; infrastructure as code
|
|
||||||
;;tmux ; an API for interacting with tmux
|
|
||||||
;;upload ; map local to remote projects via ssh/ftp
|
|
||||||
|
|
||||||
:os
|
|
||||||
tty ; improve the terminal Emacs experience
|
|
||||||
|
|
||||||
:lang
|
|
||||||
emacs-lisp ; drown in parentheses
|
|
||||||
json ; At least it ain't XML
|
|
||||||
markdown ; writing docs for people to ignore
|
|
||||||
javascript ; all(hope(abandon(ye(who(enter(here))))))
|
|
||||||
nix ; I hereby declare "nix geht mehr!"
|
|
||||||
org ; organize your plain life in plain text
|
|
||||||
web ; the tubes
|
|
||||||
yaml ; JSON, but readable
|
|
||||||
(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
|
||||||
(python +lsp) ; beautiful is better than ugly
|
|
||||||
(sh +lsp) ; she sells {ba,z,fi}sh shells on the C xor
|
|
||||||
(nix +lsp) ; Nix LSP
|
|
||||||
|
|
||||||
;;agda ; types of types of types of types...
|
|
||||||
;;beancount ; mind the GAAP
|
|
||||||
;;cc ; C > C++ == 1
|
|
||||||
;;clojure ; java with a lisp
|
|
||||||
;;common-lisp ; if you've seen one lisp, you've seen them all
|
|
||||||
;;coq ; proofs-as-programs
|
|
||||||
;;crystal ; ruby at the speed of c
|
|
||||||
;;csharp ; unity, .NET, and mono shenanigans
|
|
||||||
;;data ; config/data formats
|
|
||||||
;;(dart +flutter) ; paint ui and not much else
|
|
||||||
;;dhall
|
|
||||||
;;elixir ; erlang done right
|
|
||||||
;;elm ; care for a cup of TEA?
|
|
||||||
;;erlang ; an elegant language for a more civilized age
|
|
||||||
;;ess ; emacs speaks statistics
|
|
||||||
;;factor
|
|
||||||
;;faust ; dsp, but you get to keep your soul
|
|
||||||
;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER)
|
|
||||||
;;fsharp ; ML stands for Microsoft's Language
|
|
||||||
;;fstar ; (dependent) types and (monadic) effects and Z3
|
|
||||||
;;gdscript ; the language you waited for
|
|
||||||
;;(go +lsp) ; the hipster dialect
|
|
||||||
;;(haskell +lsp) ; a language that's lazier than I am
|
|
||||||
;;hy ; readability of scheme w/ speed of python
|
|
||||||
;;idris ; a language you can depend on
|
|
||||||
;;(java +meghanada) ; the poster child for carpal tunnel syndrome
|
|
||||||
;;julia ; a better, faster MATLAB
|
|
||||||
;;kotlin ; a better, slicker Java(Script)
|
|
||||||
;;latex ; writing papers in Emacs has never been so fun
|
|
||||||
;;lean ; for folks with too much to prove
|
|
||||||
;;ledger ; be audit you can be
|
|
||||||
;;lua ; one-based indices? one-based indices
|
|
||||||
;;nim ; python + lisp at the speed of c
|
|
||||||
;;ocaml ; an objective camel
|
|
||||||
;;php ; perl's insecure younger brother
|
|
||||||
;;plantuml ; diagrams for confusing people more
|
|
||||||
;;purescript ; javascript, but functional
|
|
||||||
;;qt ; the 'cutest' gui framework ever
|
|
||||||
;;racket ; a DSL for DSLs
|
|
||||||
;;raku ; the artist formerly known as perl6
|
|
||||||
;;rest ; Emacs as a REST client
|
|
||||||
;;rst ; ReST in peace
|
|
||||||
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
|
|
||||||
;;scala ; java, but good
|
|
||||||
;;(scheme +guile) ; a fully conniving family of lisps
|
|
||||||
;;sml
|
|
||||||
;;solidity ; do you need a blockchain? No.
|
|
||||||
;;swift ; who asked for emoji variables?
|
|
||||||
;;terra ; Earth and Moon in alignment for performance.
|
|
||||||
;;zig ; C, but simpler
|
|
||||||
|
|
||||||
:email
|
|
||||||
;;(mu4e +org +gmail)
|
|
||||||
;;notmuch
|
|
||||||
;;(wanderlust +gmail)
|
|
||||||
|
|
||||||
:app
|
|
||||||
;;calendar
|
|
||||||
;;emms
|
|
||||||
;;everywhere ; *leave* Emacs!? You must be joking
|
|
||||||
;;irc ; how neckbeards socialize
|
|
||||||
;;(rss +org) ; emacs as an RSS reader
|
|
||||||
;;twitter ; twitter client https://twitter.com/vnought
|
|
||||||
|
|
||||||
:config
|
|
||||||
;;literate
|
|
||||||
(default +bindings +smartparens))
|
|
|
@ -1,3 +0,0 @@
|
||||||
;; Themes - Test
|
|
||||||
(package! gruvbox-theme)
|
|
||||||
(package! forest-blue-theme)
|
|
|
@ -1,83 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
home.file.".config/btop/btop.conf".text = ''
|
|
||||||
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
|
||||||
color_theme = "gruvbox_dark_v2"
|
|
||||||
theme_background = True
|
|
||||||
truecolor = True
|
|
||||||
force_tty = False
|
|
||||||
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
|
|
||||||
vim_keys = False
|
|
||||||
rounded_corners = True
|
|
||||||
|
|
||||||
#* Default symbols to use for graph creation, "braille", "block" or "tty".
|
|
||||||
#* "braille" offers the highest resolution but might not be included in all fonts.
|
|
||||||
#* "block" has half the resolution of braille but uses more common characters.
|
|
||||||
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
|
|
||||||
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
|
|
||||||
graph_symbol = "braille"
|
|
||||||
graph_symbol_cpu = "default"
|
|
||||||
graph_symbol_mem = "default"
|
|
||||||
graph_symbol_net = "default"
|
|
||||||
graph_symbol_proc = "default"
|
|
||||||
shown_boxes = "cpu net proc mem"
|
|
||||||
update_ms = 1000
|
|
||||||
|
|
||||||
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
|
||||||
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
|
||||||
proc_sorting = "cpu lazy"
|
|
||||||
|
|
||||||
proc_reversed = False
|
|
||||||
proc_tree = True
|
|
||||||
proc_colors = True
|
|
||||||
proc_gradient = True
|
|
||||||
proc_per_core = False
|
|
||||||
proc_mem_bytes = True
|
|
||||||
proc_cpu_graphs = True
|
|
||||||
proc_info_smaps = False
|
|
||||||
proc_left = False
|
|
||||||
proc_filter_kernel = False
|
|
||||||
cpu_graph_upper = "total"
|
|
||||||
cpu_graph_lower = "total"
|
|
||||||
cpu_invert_lower = True
|
|
||||||
cpu_single_graph = False
|
|
||||||
cpu_bottom = False
|
|
||||||
show_uptime = True
|
|
||||||
check_temp = True
|
|
||||||
cpu_sensor = "Auto"
|
|
||||||
show_coretemp = True
|
|
||||||
cpu_core_map = ""
|
|
||||||
temp_scale = "celsius"
|
|
||||||
base_10_sizes = False
|
|
||||||
show_cpu_freq = True
|
|
||||||
|
|
||||||
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
|
|
||||||
clock_format = "[/user@/host] [/uptime] [%X]"
|
|
||||||
|
|
||||||
background_update = True
|
|
||||||
custom_cpu_name = ""
|
|
||||||
disks_filter = ""
|
|
||||||
mem_graphs = True
|
|
||||||
mem_below_net = False
|
|
||||||
zfs_arc_cached = True
|
|
||||||
show_swap = True
|
|
||||||
swap_disk = True
|
|
||||||
show_disks = True
|
|
||||||
only_physical = True
|
|
||||||
use_fstab = True
|
|
||||||
zfs_hide_datasets = False
|
|
||||||
disk_free_priv = False
|
|
||||||
show_io_stat = True
|
|
||||||
io_mode = False
|
|
||||||
io_graph_combined = False
|
|
||||||
io_graph_speeds = ""
|
|
||||||
net_download = 100
|
|
||||||
net_upload = 100
|
|
||||||
net_auto = True
|
|
||||||
net_sync = False
|
|
||||||
net_iface = ""
|
|
||||||
show_battery = True
|
|
||||||
selected_battery = "Auto"
|
|
||||||
log_level = "WARNING"
|
|
||||||
|
|
||||||
'';
|
|
||||||
}
|
|
|
@ -1,22 +0,0 @@
|
||||||
;; Themes
|
|
||||||
(setq doom-theme 'gruvbox-dark-hard)
|
|
||||||
(setq doom-themes-treemacs-theme "doom-colors")
|
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
;; LSP Modules
|
|
||||||
;; Bash
|
|
||||||
(use-package lsp-mode
|
|
||||||
:commands lsp
|
|
||||||
:hook
|
|
||||||
(sh-mode . lsp))
|
|
||||||
|
|
||||||
;; Python
|
|
||||||
(defun lspython ()
|
|
||||||
"Updates the lsp-python-ms-executable variable and runs lsp."
|
|
||||||
(interactive)
|
|
||||||
(setq lsp-python-ms-executable (executable-find "python-lsp-server"))
|
|
||||||
(lsp-deferred))
|
|
||||||
|
|
||||||
;; Rust
|
|
||||||
(after! rustic
|
|
||||||
(setq rustic-lsp-server 'rls))
|
|
|
@ -1,193 +0,0 @@
|
||||||
;;; init.el -*- lexical-binding: t; -*-
|
|
||||||
|
|
||||||
;; This file controls what Doom modules are enabled and what order they load
|
|
||||||
;; in. Remember to run 'doom sync' after modifying it!
|
|
||||||
|
|
||||||
;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
|
|
||||||
;; documentation. There you'll find a "Module Index" link where you'll find
|
|
||||||
;; a comprehensive list of Doom's modules and what flags they support.
|
|
||||||
|
|
||||||
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
|
|
||||||
;; 'C-c c k' for non-vim users) to view its documentation. This works on
|
|
||||||
;; flags as well (those symbols that start with a plus).
|
|
||||||
;;
|
|
||||||
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
|
|
||||||
;; directory (for easy access to its source code).
|
|
||||||
|
|
||||||
(doom! :input
|
|
||||||
;;chinese
|
|
||||||
;;japanese
|
|
||||||
;;layout ; auie,ctsrnm is the superior home row
|
|
||||||
|
|
||||||
:completion
|
|
||||||
company ; the ultimate code completion backend
|
|
||||||
ivy ; a search engine for love and life
|
|
||||||
vertico ; the search engine of the future
|
|
||||||
;;ido ; the other *other* search engine...
|
|
||||||
;;helm ; the *other* search engine for love and life
|
|
||||||
|
|
||||||
:ui
|
|
||||||
doom ; what makes DOOM look the way it does
|
|
||||||
doom-dashboard ; a nifty splash screen for Emacs
|
|
||||||
;;doom-quit ; DOOM quit-message prompts when you quit Emacs
|
|
||||||
(emoji +unicode) ; 🙂
|
|
||||||
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
|
|
||||||
indent-guides ; highlighted indent columns
|
|
||||||
ligatures ; ligatures and symbols to make your code pretty again
|
|
||||||
minimap ; show a map of the code on the side
|
|
||||||
modeline ; snazzy, Atom-inspired modeline, plus API
|
|
||||||
nav-flash ; blink cursor line after big motions
|
|
||||||
ophints ; highlight the region an operation acts on
|
|
||||||
(popup +defaults) ; tame sudden yet inevitable temporary windows
|
|
||||||
;; tabs ; a tab bar for Emacs
|
|
||||||
treemacs ; a project drawer, like neotree but cooler
|
|
||||||
vc-gutter ; vcs diff in the fringe
|
|
||||||
vi-tilde-fringe ; fringe tildes to mark beyond EOB
|
|
||||||
window-select ; visually switch windows
|
|
||||||
workspaces ; tab emulation, persistence & separate workspaces
|
|
||||||
zen ; distraction-free coding or writing
|
|
||||||
;;unicode ; extended unicode support for various languages
|
|
||||||
;;hydra
|
|
||||||
;;neotree ; a project drawer, like NERDTree for vim
|
|
||||||
;;deft ; notational velocity for Emacs
|
|
||||||
|
|
||||||
:editor
|
|
||||||
(evil +everywhere) ; come to the dark side, we have cookies
|
|
||||||
file-templates ; auto-snippets for empty files
|
|
||||||
fold ; (nigh) universal code folding
|
|
||||||
snippets ; my elves. They type so I don't have to
|
|
||||||
|
|
||||||
;;(format +onsave) ; automated prettiness
|
|
||||||
;;god ; run Emacs commands without modifier keys
|
|
||||||
;;lispy ; vim for lisp, for people who don't like vim
|
|
||||||
;;multiple-cursors ; editing in many places at once
|
|
||||||
;;objed ; text object editing for the innocent
|
|
||||||
;;parinfer ; turn lisp into python, sort of
|
|
||||||
;;rotate-text ; cycle region at point between text candidates
|
|
||||||
;;word-wrap ; soft wrapping with language-aware indent
|
|
||||||
|
|
||||||
:emacs
|
|
||||||
dired ; making dired pretty [functional]
|
|
||||||
electric ; smarter, keyword-based electric-indent
|
|
||||||
ibuffer ; interactive buffer management
|
|
||||||
undo ; persistent, smarter undo for your inevitable mistakes
|
|
||||||
vc ; version-control and Emacs, sitting in a tree
|
|
||||||
|
|
||||||
:term
|
|
||||||
vterm ; the best terminal emulation in Emacs
|
|
||||||
;;eshell ; the elisp shell that works everywhere
|
|
||||||
;;shell ; simple shell REPL for Emacs
|
|
||||||
;;term ; basic terminal emulator for Emacs
|
|
||||||
|
|
||||||
:checkers
|
|
||||||
syntax ; tasing you for every semicolon you forget
|
|
||||||
;;(spell +flyspell) ; tasing you for misspelling mispelling
|
|
||||||
;;grammar ; tasing grammar mistake every you make
|
|
||||||
|
|
||||||
:tools
|
|
||||||
(eval +overlay) ; run code, run (also, repls)
|
|
||||||
lookup ; navigate your code and its documentation
|
|
||||||
lsp ; M-x vscode
|
|
||||||
magit ; a git porcelain for Emacs
|
|
||||||
;;ansible
|
|
||||||
;;biblio ; Writes a PhD for you (citation needed)
|
|
||||||
;;debugger ; FIXME stepping through code, to help you add bugs
|
|
||||||
;;direnv
|
|
||||||
;;docker
|
|
||||||
;;editorconfig ; let someone else argue about tabs vs spaces
|
|
||||||
;;ein ; tame Jupyter notebooks with emacs
|
|
||||||
;;gist ; interacting with github gists
|
|
||||||
;;make ; run make tasks from Emacs
|
|
||||||
;;pass ; password manager for nerds
|
|
||||||
;;pdf ; pdf enhancements
|
|
||||||
;;prodigy ; FIXME managing external services & code builders
|
|
||||||
;;rgb ; creating color strings
|
|
||||||
;;taskrunner ; taskrunner for all your projects
|
|
||||||
;;terraform ; infrastructure as code
|
|
||||||
;;tmux ; an API for interacting with tmux
|
|
||||||
;;upload ; map local to remote projects via ssh/ftp
|
|
||||||
|
|
||||||
:os
|
|
||||||
tty ; improve the terminal Emacs experience
|
|
||||||
|
|
||||||
:lang
|
|
||||||
emacs-lisp ; drown in parentheses
|
|
||||||
json ; At least it ain't XML
|
|
||||||
markdown ; writing docs for people to ignore
|
|
||||||
javascript ; all(hope(abandon(ye(who(enter(here))))))
|
|
||||||
nix ; I hereby declare "nix geht mehr!"
|
|
||||||
org ; organize your plain life in plain text
|
|
||||||
web ; the tubes
|
|
||||||
yaml ; JSON, but readable
|
|
||||||
(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
|
||||||
(python +lsp) ; beautiful is better than ugly
|
|
||||||
(sh +lsp) ; she sells {ba,z,fi}sh shells on the C xor
|
|
||||||
(nix +lsp) ; Nix LSP
|
|
||||||
|
|
||||||
;;agda ; types of types of types of types...
|
|
||||||
;;beancount ; mind the GAAP
|
|
||||||
;;cc ; C > C++ == 1
|
|
||||||
;;clojure ; java with a lisp
|
|
||||||
;;common-lisp ; if you've seen one lisp, you've seen them all
|
|
||||||
;;coq ; proofs-as-programs
|
|
||||||
;;crystal ; ruby at the speed of c
|
|
||||||
;;csharp ; unity, .NET, and mono shenanigans
|
|
||||||
;;data ; config/data formats
|
|
||||||
;;(dart +flutter) ; paint ui and not much else
|
|
||||||
;;dhall
|
|
||||||
;;elixir ; erlang done right
|
|
||||||
;;elm ; care for a cup of TEA?
|
|
||||||
;;erlang ; an elegant language for a more civilized age
|
|
||||||
;;ess ; emacs speaks statistics
|
|
||||||
;;factor
|
|
||||||
;;faust ; dsp, but you get to keep your soul
|
|
||||||
;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER)
|
|
||||||
;;fsharp ; ML stands for Microsoft's Language
|
|
||||||
;;fstar ; (dependent) types and (monadic) effects and Z3
|
|
||||||
;;gdscript ; the language you waited for
|
|
||||||
;;(go +lsp) ; the hipster dialect
|
|
||||||
;;(haskell +lsp) ; a language that's lazier than I am
|
|
||||||
;;hy ; readability of scheme w/ speed of python
|
|
||||||
;;idris ; a language you can depend on
|
|
||||||
;;(java +meghanada) ; the poster child for carpal tunnel syndrome
|
|
||||||
;;julia ; a better, faster MATLAB
|
|
||||||
;;kotlin ; a better, slicker Java(Script)
|
|
||||||
;;latex ; writing papers in Emacs has never been so fun
|
|
||||||
;;lean ; for folks with too much to prove
|
|
||||||
;;ledger ; be audit you can be
|
|
||||||
;;lua ; one-based indices? one-based indices
|
|
||||||
;;nim ; python + lisp at the speed of c
|
|
||||||
;;ocaml ; an objective camel
|
|
||||||
;;php ; perl's insecure younger brother
|
|
||||||
;;plantuml ; diagrams for confusing people more
|
|
||||||
;;purescript ; javascript, but functional
|
|
||||||
;;qt ; the 'cutest' gui framework ever
|
|
||||||
;;racket ; a DSL for DSLs
|
|
||||||
;;raku ; the artist formerly known as perl6
|
|
||||||
;;rest ; Emacs as a REST client
|
|
||||||
;;rst ; ReST in peace
|
|
||||||
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
|
|
||||||
;;scala ; java, but good
|
|
||||||
;;(scheme +guile) ; a fully conniving family of lisps
|
|
||||||
;;sml
|
|
||||||
;;solidity ; do you need a blockchain? No.
|
|
||||||
;;swift ; who asked for emoji variables?
|
|
||||||
;;terra ; Earth and Moon in alignment for performance.
|
|
||||||
;;zig ; C, but simpler
|
|
||||||
|
|
||||||
:email
|
|
||||||
;;(mu4e +org +gmail)
|
|
||||||
;;notmuch
|
|
||||||
;;(wanderlust +gmail)
|
|
||||||
|
|
||||||
:app
|
|
||||||
;;calendar
|
|
||||||
;;emms
|
|
||||||
;;everywhere ; *leave* Emacs!? You must be joking
|
|
||||||
;;irc ; how neckbeards socialize
|
|
||||||
;;(rss +org) ; emacs as an RSS reader
|
|
||||||
;;twitter ; twitter client https://twitter.com/vnought
|
|
||||||
|
|
||||||
:config
|
|
||||||
;;literate
|
|
||||||
(default +bindings +smartparens))
|
|
|
@ -1,2 +0,0 @@
|
||||||
;; Themes - Test
|
|
||||||
(package! gruvbox-theme)
|
|
|
@ -1,22 +0,0 @@
|
||||||
;; Themes
|
|
||||||
(setq doom-theme 'doom-pine)
|
|
||||||
(setq doom-themes-treemacs-theme "doom-colors")
|
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
||||||
;; LSP Modules
|
|
||||||
;; Bash
|
|
||||||
(use-package lsp-mode
|
|
||||||
:commands lsp
|
|
||||||
:hook
|
|
||||||
(sh-mode . lsp))
|
|
||||||
|
|
||||||
;; Python
|
|
||||||
(defun lspython ()
|
|
||||||
"Updates the lsp-python-ms-executable variable and runs lsp."
|
|
||||||
(interactive)
|
|
||||||
(setq lsp-python-ms-executable (executable-find "python-lsp-server"))
|
|
||||||
(lsp-deferred))
|
|
||||||
|
|
||||||
;; Rust
|
|
||||||
(after! rustic
|
|
||||||
(setq rustic-lsp-server 'rls))
|
|
|
@ -1,193 +0,0 @@
|
||||||
;;; init.el -*- lexical-binding: t; -*-
|
|
||||||
|
|
||||||
;; This file controls what Doom modules are enabled and what order they load
|
|
||||||
;; in. Remember to run 'doom sync' after modifying it!
|
|
||||||
|
|
||||||
;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
|
|
||||||
;; documentation. There you'll find a "Module Index" link where you'll find
|
|
||||||
;; a comprehensive list of Doom's modules and what flags they support.
|
|
||||||
|
|
||||||
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
|
|
||||||
;; 'C-c c k' for non-vim users) to view its documentation. This works on
|
|
||||||
;; flags as well (those symbols that start with a plus).
|
|
||||||
;;
|
|
||||||
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
|
|
||||||
;; directory (for easy access to its source code).
|
|
||||||
|
|
||||||
(doom! :input
|
|
||||||
;;chinese
|
|
||||||
;;japanese
|
|
||||||
;;layout ; auie,ctsrnm is the superior home row
|
|
||||||
|
|
||||||
:completion
|
|
||||||
company ; the ultimate code completion backend
|
|
||||||
ivy ; a search engine for love and life
|
|
||||||
vertico ; the search engine of the future
|
|
||||||
;;ido ; the other *other* search engine...
|
|
||||||
;;helm ; the *other* search engine for love and life
|
|
||||||
|
|
||||||
:ui
|
|
||||||
doom ; what makes DOOM look the way it does
|
|
||||||
doom-dashboard ; a nifty splash screen for Emacs
|
|
||||||
;;doom-quit ; DOOM quit-message prompts when you quit Emacs
|
|
||||||
(emoji +unicode) ; 🙂
|
|
||||||
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
|
|
||||||
indent-guides ; highlighted indent columns
|
|
||||||
ligatures ; ligatures and symbols to make your code pretty again
|
|
||||||
minimap ; show a map of the code on the side
|
|
||||||
modeline ; snazzy, Atom-inspired modeline, plus API
|
|
||||||
nav-flash ; blink cursor line after big motions
|
|
||||||
ophints ; highlight the region an operation acts on
|
|
||||||
(popup +defaults) ; tame sudden yet inevitable temporary windows
|
|
||||||
;; tabs ; a tab bar for Emacs
|
|
||||||
treemacs ; a project drawer, like neotree but cooler
|
|
||||||
vc-gutter ; vcs diff in the fringe
|
|
||||||
vi-tilde-fringe ; fringe tildes to mark beyond EOB
|
|
||||||
window-select ; visually switch windows
|
|
||||||
workspaces ; tab emulation, persistence & separate workspaces
|
|
||||||
zen ; distraction-free coding or writing
|
|
||||||
;;unicode ; extended unicode support for various languages
|
|
||||||
;;hydra
|
|
||||||
;;neotree ; a project drawer, like NERDTree for vim
|
|
||||||
;;deft ; notational velocity for Emacs
|
|
||||||
|
|
||||||
:editor
|
|
||||||
(evil +everywhere) ; come to the dark side, we have cookies
|
|
||||||
file-templates ; auto-snippets for empty files
|
|
||||||
fold ; (nigh) universal code folding
|
|
||||||
snippets ; my elves. They type so I don't have to
|
|
||||||
|
|
||||||
;;(format +onsave) ; automated prettiness
|
|
||||||
;;god ; run Emacs commands without modifier keys
|
|
||||||
;;lispy ; vim for lisp, for people who don't like vim
|
|
||||||
;;multiple-cursors ; editing in many places at once
|
|
||||||
;;objed ; text object editing for the innocent
|
|
||||||
;;parinfer ; turn lisp into python, sort of
|
|
||||||
;;rotate-text ; cycle region at point between text candidates
|
|
||||||
;;word-wrap ; soft wrapping with language-aware indent
|
|
||||||
|
|
||||||
:emacs
|
|
||||||
dired ; making dired pretty [functional]
|
|
||||||
electric ; smarter, keyword-based electric-indent
|
|
||||||
ibuffer ; interactive buffer management
|
|
||||||
undo ; persistent, smarter undo for your inevitable mistakes
|
|
||||||
vc ; version-control and Emacs, sitting in a tree
|
|
||||||
|
|
||||||
:term
|
|
||||||
vterm ; the best terminal emulation in Emacs
|
|
||||||
;;eshell ; the elisp shell that works everywhere
|
|
||||||
;;shell ; simple shell REPL for Emacs
|
|
||||||
;;term ; basic terminal emulator for Emacs
|
|
||||||
|
|
||||||
:checkers
|
|
||||||
syntax ; tasing you for every semicolon you forget
|
|
||||||
;;(spell +flyspell) ; tasing you for misspelling mispelling
|
|
||||||
;;grammar ; tasing grammar mistake every you make
|
|
||||||
|
|
||||||
:tools
|
|
||||||
(eval +overlay) ; run code, run (also, repls)
|
|
||||||
lookup ; navigate your code and its documentation
|
|
||||||
lsp ; M-x vscode
|
|
||||||
magit ; a git porcelain for Emacs
|
|
||||||
;;ansible
|
|
||||||
;;biblio ; Writes a PhD for you (citation needed)
|
|
||||||
;;debugger ; FIXME stepping through code, to help you add bugs
|
|
||||||
;;direnv
|
|
||||||
;;docker
|
|
||||||
;;editorconfig ; let someone else argue about tabs vs spaces
|
|
||||||
;;ein ; tame Jupyter notebooks with emacs
|
|
||||||
;;gist ; interacting with github gists
|
|
||||||
;;make ; run make tasks from Emacs
|
|
||||||
;;pass ; password manager for nerds
|
|
||||||
;;pdf ; pdf enhancements
|
|
||||||
;;prodigy ; FIXME managing external services & code builders
|
|
||||||
;;rgb ; creating color strings
|
|
||||||
;;taskrunner ; taskrunner for all your projects
|
|
||||||
;;terraform ; infrastructure as code
|
|
||||||
;;tmux ; an API for interacting with tmux
|
|
||||||
;;upload ; map local to remote projects via ssh/ftp
|
|
||||||
|
|
||||||
:os
|
|
||||||
tty ; improve the terminal Emacs experience
|
|
||||||
|
|
||||||
:lang
|
|
||||||
emacs-lisp ; drown in parentheses
|
|
||||||
json ; At least it ain't XML
|
|
||||||
markdown ; writing docs for people to ignore
|
|
||||||
javascript ; all(hope(abandon(ye(who(enter(here))))))
|
|
||||||
nix ; I hereby declare "nix geht mehr!"
|
|
||||||
org ; organize your plain life in plain text
|
|
||||||
web ; the tubes
|
|
||||||
yaml ; JSON, but readable
|
|
||||||
(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
|
||||||
(python +lsp) ; beautiful is better than ugly
|
|
||||||
(sh +lsp) ; she sells {ba,z,fi}sh shells on the C xor
|
|
||||||
(nix +lsp) ; Nix LSP
|
|
||||||
|
|
||||||
;;agda ; types of types of types of types...
|
|
||||||
;;beancount ; mind the GAAP
|
|
||||||
;;cc ; C > C++ == 1
|
|
||||||
;;clojure ; java with a lisp
|
|
||||||
;;common-lisp ; if you've seen one lisp, you've seen them all
|
|
||||||
;;coq ; proofs-as-programs
|
|
||||||
;;crystal ; ruby at the speed of c
|
|
||||||
;;csharp ; unity, .NET, and mono shenanigans
|
|
||||||
;;data ; config/data formats
|
|
||||||
;;(dart +flutter) ; paint ui and not much else
|
|
||||||
;;dhall
|
|
||||||
;;elixir ; erlang done right
|
|
||||||
;;elm ; care for a cup of TEA?
|
|
||||||
;;erlang ; an elegant language for a more civilized age
|
|
||||||
;;ess ; emacs speaks statistics
|
|
||||||
;;factor
|
|
||||||
;;faust ; dsp, but you get to keep your soul
|
|
||||||
;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER)
|
|
||||||
;;fsharp ; ML stands for Microsoft's Language
|
|
||||||
;;fstar ; (dependent) types and (monadic) effects and Z3
|
|
||||||
;;gdscript ; the language you waited for
|
|
||||||
;;(go +lsp) ; the hipster dialect
|
|
||||||
;;(haskell +lsp) ; a language that's lazier than I am
|
|
||||||
;;hy ; readability of scheme w/ speed of python
|
|
||||||
;;idris ; a language you can depend on
|
|
||||||
;;(java +meghanada) ; the poster child for carpal tunnel syndrome
|
|
||||||
;;julia ; a better, faster MATLAB
|
|
||||||
;;kotlin ; a better, slicker Java(Script)
|
|
||||||
;;latex ; writing papers in Emacs has never been so fun
|
|
||||||
;;lean ; for folks with too much to prove
|
|
||||||
;;ledger ; be audit you can be
|
|
||||||
;;lua ; one-based indices? one-based indices
|
|
||||||
;;nim ; python + lisp at the speed of c
|
|
||||||
;;ocaml ; an objective camel
|
|
||||||
;;php ; perl's insecure younger brother
|
|
||||||
;;plantuml ; diagrams for confusing people more
|
|
||||||
;;purescript ; javascript, but functional
|
|
||||||
;;qt ; the 'cutest' gui framework ever
|
|
||||||
;;racket ; a DSL for DSLs
|
|
||||||
;;raku ; the artist formerly known as perl6
|
|
||||||
;;rest ; Emacs as a REST client
|
|
||||||
;;rst ; ReST in peace
|
|
||||||
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
|
|
||||||
;;scala ; java, but good
|
|
||||||
;;(scheme +guile) ; a fully conniving family of lisps
|
|
||||||
;;sml
|
|
||||||
;;solidity ; do you need a blockchain? No.
|
|
||||||
;;swift ; who asked for emoji variables?
|
|
||||||
;;terra ; Earth and Moon in alignment for performance.
|
|
||||||
;;zig ; C, but simpler
|
|
||||||
|
|
||||||
:email
|
|
||||||
;;(mu4e +org +gmail)
|
|
||||||
;;notmuch
|
|
||||||
;;(wanderlust +gmail)
|
|
||||||
|
|
||||||
:app
|
|
||||||
;;calendar
|
|
||||||
;;emms
|
|
||||||
;;everywhere ; *leave* Emacs!? You must be joking
|
|
||||||
;;irc ; how neckbeards socialize
|
|
||||||
;;(rss +org) ; emacs as an RSS reader
|
|
||||||
;;twitter ; twitter client https://twitter.com/vnought
|
|
||||||
|
|
||||||
:config
|
|
||||||
;;literate
|
|
||||||
(default +bindings +smartparens))
|
|
|
@ -1,3 +0,0 @@
|
||||||
;; Themes - Test
|
|
||||||
(package! gruvbox-theme)
|
|
||||||
(package! forest-blue-theme)
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ inputs, config, pkgs, theme, ... }: {
|
{ inputs, config, pkgs, theme, ... }: {
|
||||||
#imports = [ ./themes/${theme}/firefox-theme.nix ];
|
|
||||||
|
|
||||||
home.file.".mozilla/firefox/nix-user-profile/chrome/firefox-gnome-theme".source = inputs.firefox-gnome-theme;
|
home.file.".mozilla/firefox/nix-user-profile/chrome/firefox-gnome-theme".source = inputs.firefox-gnome-theme;
|
||||||
|
|
||||||
|
|
|
@ -1,3 +0,0 @@
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,3 +0,0 @@
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,9 +0,0 @@
|
||||||
{ config, pkgs, theme, ... }: {
|
|
||||||
programs.firefox.profiles.default = {
|
|
||||||
# https://nur.nix-community.org/repos/rycee/
|
|
||||||
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
|
||||||
# Theming
|
|
||||||
gruvbox-dark-theme
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,30 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
home.file.".config/kitty/theme.conf".text = ''
|
|
||||||
## name: Gruvbox Dark
|
|
||||||
## author: Pavel Pertsev
|
|
||||||
## license: MIT/X11
|
|
||||||
## upstream: https://github.com/dexpota/kitty-themes/blob/master/themes/Hipster_Green.conf
|
|
||||||
|
|
||||||
background #252525
|
|
||||||
foreground #d9eed2
|
|
||||||
cursor #41ff58
|
|
||||||
selection_background #2a9b34
|
|
||||||
color0 #1e1e1e
|
|
||||||
color8 #03260f
|
|
||||||
color1 #da6a6a
|
|
||||||
color9 #a6ff3e
|
|
||||||
color2 #329b24
|
|
||||||
color10 #9fff6d
|
|
||||||
color3 #649a25
|
|
||||||
color11 #d1ff6d
|
|
||||||
color4 #149b45
|
|
||||||
color12 #72ffb5
|
|
||||||
color5 #53b82b
|
|
||||||
color13 #50ff3d
|
|
||||||
color6 #2bb767
|
|
||||||
color14 #22ff71
|
|
||||||
color7 #dffeee
|
|
||||||
color15 #daeed0
|
|
||||||
selection_foreground #3a3c3e
|
|
||||||
'';
|
|
||||||
}
|
|
|
@ -1,9 +0,0 @@
|
||||||
{ config, pkgs, theme, ... }: {
|
|
||||||
programs.firefox.profiles.default = {
|
|
||||||
# https://nur.nix-community.org/repos/rycee/
|
|
||||||
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
|
||||||
# Theming
|
|
||||||
gruvbox-dark-theme
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,36 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
home.file.".config/kitty/theme.conf".text = ''
|
|
||||||
## name: Gruvbox Dark
|
|
||||||
## author: Pavel Pertsev
|
|
||||||
## license: MIT/X11
|
|
||||||
## upstream: https://raw.githubusercontent.com/gruvbox-community/gruvbox-contrib/master/kitty/gruvbox-dark.conf
|
|
||||||
|
|
||||||
selection_foreground #ebdbb2
|
|
||||||
selection_background #d65d0e
|
|
||||||
|
|
||||||
background #282828
|
|
||||||
foreground #ebdbb2
|
|
||||||
|
|
||||||
color0 #3c3836
|
|
||||||
color1 #cc241d
|
|
||||||
color2 #98971a
|
|
||||||
color3 #d79921
|
|
||||||
color4 #458588
|
|
||||||
color5 #b16286
|
|
||||||
color6 #689d6a
|
|
||||||
color7 #a89984
|
|
||||||
color8 #928374
|
|
||||||
color9 #fb4934
|
|
||||||
color10 #b8bb26
|
|
||||||
color11 #fabd2f
|
|
||||||
color12 #83a598
|
|
||||||
color13 #d3869b
|
|
||||||
color14 #8ec07c
|
|
||||||
color15 #fbf1c7
|
|
||||||
|
|
||||||
cursor #bdae93
|
|
||||||
cursor_text_color #665c54
|
|
||||||
|
|
||||||
url_color #458588
|
|
||||||
'';
|
|
||||||
}
|
|
|
@ -1,9 +0,0 @@
|
||||||
{ config, pkgs, theme, ... }: {
|
|
||||||
programs.firefox.profiles.default = {
|
|
||||||
# https://nur.nix-community.org/repos/rycee/
|
|
||||||
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
|
||||||
# Theming
|
|
||||||
gruvbox-dark-theme
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,30 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
home.file.".config/kitty/theme.conf".text = ''
|
|
||||||
## name: Gruvbox Dark
|
|
||||||
## author: Pavel Pertsev
|
|
||||||
## license: MIT/X11
|
|
||||||
## upstream: https://github.com/dexpota/kitty-themes/blob/master/themes/Hipster_Green.conf
|
|
||||||
|
|
||||||
background #252525
|
|
||||||
foreground #d9eed2
|
|
||||||
cursor #41ff58
|
|
||||||
selection_background #2a9b34
|
|
||||||
color0 #1e1e1e
|
|
||||||
color8 #03260f
|
|
||||||
color1 #da6a6a
|
|
||||||
color9 #a6ff3e
|
|
||||||
color2 #329b24
|
|
||||||
color10 #9fff6d
|
|
||||||
color3 #649a25
|
|
||||||
color11 #d1ff6d
|
|
||||||
color4 #149b45
|
|
||||||
color12 #72ffb5
|
|
||||||
color5 #53b82b
|
|
||||||
color13 #50ff3d
|
|
||||||
color6 #2bb767
|
|
||||||
color14 #22ff71
|
|
||||||
color7 #dffeee
|
|
||||||
color15 #daeed0
|
|
||||||
selection_foreground #3a3c3e
|
|
||||||
'';
|
|
||||||
}
|
|
|
@ -13,7 +13,6 @@
|
||||||
ms-python.python # Python Language Server
|
ms-python.python # Python Language Server
|
||||||
rust-lang.rust-analyzer # Rust Language Server
|
rust-lang.rust-analyzer # Rust Language Server
|
||||||
|
|
||||||
|
|
||||||
# Themes
|
# Themes
|
||||||
github.github-vscode-theme
|
github.github-vscode-theme
|
||||||
];
|
];
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
userName = "albert";
|
userName = "albert";
|
||||||
userEmail = "albert@sysctl.io";
|
userEmail = "albert@sysctl.io";
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
core.askPass = "false";
|
core.askPass = false;
|
||||||
credential.helper = "cache --timeout=25920000";
|
credential.helper = "cache --timeout=25920000";
|
||||||
user.signingkey = "64F6C4EB46C4543A";
|
user.signingkey = "64F6C4EB46C4543A";
|
||||||
commit.gpgsign = "true";
|
commit.gpgsign = "true";
|
||||||
|
@ -15,10 +15,6 @@
|
||||||
SOPS_PGP_FP = "D98BBC6C9A27324654C2D8C464F6C4EB46C4543A";
|
SOPS_PGP_FP = "D98BBC6C9A27324654C2D8C464F6C4EB46C4543A";
|
||||||
};
|
};
|
||||||
|
|
||||||
home.file.".gnupg/gpg-agent.conf".text = ''
|
|
||||||
pinentry-program /run/current-system/sw/bin/pinentry-curses
|
|
||||||
'';
|
|
||||||
|
|
||||||
accounts = {
|
accounts = {
|
||||||
email = {
|
email = {
|
||||||
accounts."sysctl" = {
|
accounts."sysctl" = {
|
||||||
|
@ -29,7 +25,6 @@
|
||||||
# password
|
# password
|
||||||
# https://nix-community.github.io/home-manager/options.html#opt-accounts.email.accounts._name_.passwordCommand
|
# https://nix-community.github.io/home-manager/options.html#opt-accounts.email.accounts._name_.passwordCommand
|
||||||
# password_command = "cat /var/run/sysctl-email"
|
# password_command = "cat /var/run/sysctl-email"
|
||||||
aliases = [ "postmaster@sysctl.io" ];
|
|
||||||
realName = "Albert J. Copeland";
|
realName = "Albert J. Copeland";
|
||||||
signature = ''
|
signature = ''
|
||||||
Albert J. Copeland
|
Albert J. Copeland
|
||||||
|
|