add hyprland conf
This commit is contained in:
parent
1849fdc496
commit
e1f0194350
21 changed files with 712 additions and 263 deletions
|
|
@ -4,31 +4,14 @@
|
|||
];
|
||||
programs.gpg = {
|
||||
enable = true;
|
||||
settings = {
|
||||
personal-cipher-preferences = "AES256 AES192 AES";
|
||||
personal-digest-preferences = "SHA512 SHA384 SHA256";
|
||||
personal-compress-preferences = "ZLIB BZIP2 ZIP Uncompressed";
|
||||
default-preference-list = "SHA512 SHA384 SHA256 AES256 AES192 AES ZLIB BZIP2 ZIP Uncompressed";
|
||||
cert-digest-algo = "SHA512";
|
||||
s2k-digest-algo = "SHA512";
|
||||
s2k-cipher-algo = "AES256";
|
||||
charset = "utf-8";
|
||||
fixed-list-mode = true;
|
||||
no-emit-version = true;
|
||||
no-greeting = true;
|
||||
keyid-format = "0xshort";
|
||||
list-options = "show-uid-validity show-unusable-subkeys";
|
||||
verify-options = "show-uid-validity";
|
||||
with-fingerprint = true;
|
||||
with-key-origin = true;
|
||||
require-cross-certification = true;
|
||||
no-symkey-cache = true;
|
||||
default-recipient-self = true;
|
||||
};
|
||||
settings = {pinentry-mode = "loopback";};
|
||||
};
|
||||
services.gpg-agent = {
|
||||
enable = true;
|
||||
enableSshSupport = true;
|
||||
pinentryFlavor = "tty";
|
||||
extraConfig = ''
|
||||
allow-loopback-pinentry
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,5 @@
|
|||
./nvim
|
||||
./shell
|
||||
./2fa
|
||||
./warrior
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,8 @@
|
|||
{pkgs, ...}: {
|
||||
programs.taskwarrior = {
|
||||
enable = true;
|
||||
colorTheme = "solarized-dark-256";
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
ripgrep
|
||||
k9s
|
||||
|
|
|
|||
|
|
@ -72,11 +72,4 @@
|
|||
historyWidgetOptions = ["--height 60% --preview ''"];
|
||||
fileWidgetCommand = "command find -L . -mindepth 1 -o -fstype 'sysfs' -o -fstype 'devfs' -o -fstype 'devtmpfs' -o -fstype 'proc' -prune";
|
||||
};
|
||||
programs.mcfly = {
|
||||
enable = true;
|
||||
fzf.enable = false;
|
||||
keyScheme = "vim";
|
||||
interfaceView = "BOTTOM";
|
||||
fuzzySearchFactor = 3;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,18 +0,0 @@
|
|||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
programs.taskwarrior = {
|
||||
enable = true;
|
||||
colorTheme = "solarized-dark-256";
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
timewarrior
|
||||
];
|
||||
home.file."${config.xdg.dataHome}/task/hooks/on-modify.timewarrior" = {
|
||||
source = "${pkgs.timewarrior}/share/doc/timew/ext/on-modify.timewarrior";
|
||||
executable = true;
|
||||
};
|
||||
}
|
||||
|
|
@ -2,8 +2,18 @@
|
|||
imports = [
|
||||
./librewolf
|
||||
./alacritty
|
||||
(import ./sway)
|
||||
./sway
|
||||
./hyprland
|
||||
./xdg
|
||||
./audio
|
||||
];
|
||||
|
||||
programs.bemenu = {
|
||||
enable = true;
|
||||
settings = {
|
||||
ignorecase = true;
|
||||
fn = "UbuntuMono";
|
||||
prompt = "open";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
302
home-manager/shared/wayland/hyprland/default.nix
Normal file
302
home-manager/shared/wayland/hyprland/default.nix
Normal file
|
|
@ -0,0 +1,302 @@
|
|||
{pkgs, ...}: {
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
package = pkgs.hyprland;
|
||||
systemd.enable = true;
|
||||
extraConfig = ''
|
||||
monitor=,preferred,auto,1"
|
||||
'';
|
||||
settings = {
|
||||
"$mod" = "SUPER";
|
||||
general = {
|
||||
gaps_in = 0;
|
||||
gaps_out = 0;
|
||||
layout = "master";
|
||||
};
|
||||
misc = {
|
||||
disable_hyprland_logo = true;
|
||||
};
|
||||
decoration = {
|
||||
blur = {
|
||||
enabled = false;
|
||||
};
|
||||
drop_shadow = "no";
|
||||
};
|
||||
animations = {
|
||||
enabled = "yes";
|
||||
bezier = "ease,0.22,1,0.35,1";
|
||||
animation = [
|
||||
"windows, 1, 1.5, ease, popin"
|
||||
"windowsOut, 1, 1.5, ease, popin"
|
||||
"border, 0, 1, default"
|
||||
"fade, 1, 1.5, ease"
|
||||
"workspaces, 1, 3, ease, slidefade"
|
||||
];
|
||||
};
|
||||
master = {
|
||||
new_is_master = "no";
|
||||
no_gaps_when_only = 1;
|
||||
};
|
||||
input = {
|
||||
kb_options = "caps:super";
|
||||
repeat_delay = "300";
|
||||
repeat_rate = "60";
|
||||
|
||||
float_switch_override_focus = 0;
|
||||
# follow_mouse = 0;
|
||||
accel_profile = "flat";
|
||||
sensitivity = 0.4;
|
||||
touchpad = {
|
||||
natural_scroll = true;
|
||||
tap_button_map = "lrm";
|
||||
middle_button_emulation = false;
|
||||
};
|
||||
touchdevice = {
|
||||
enabled = false;
|
||||
};
|
||||
};
|
||||
bindm = [
|
||||
"$mod, mouse:272, movewindow"
|
||||
"$mod, mouse:273, resizewindow"
|
||||
];
|
||||
binde = [
|
||||
"$mod ALT, h, resizeactive, -50 0"
|
||||
"$mod ALT, l, resizeactive, 50 0"
|
||||
"$mod ALT, k, resizeactive, 0 50"
|
||||
"$mod ALT, j, resizeactive, 0 -50"
|
||||
];
|
||||
bind =
|
||||
[
|
||||
"$mod, Return, exec, alacritty"
|
||||
"$mod, x, killactive"
|
||||
"$mod, f, fullscreen"
|
||||
"$mod SHIFT, Escape, exit"
|
||||
"$mod SHIFT, f, fakefullscreen"
|
||||
"$mod, Space, exec, ${pkgs.bemenu}/bin/bemenu-run"
|
||||
"$mod, t, togglefloating"
|
||||
"$mod, bracketleft, exec, grimshot --notify save area /tmp/scrot-$(date \"+%Y-%m-%d\"T\"%H:%M:%S\").png"
|
||||
"$mod, bracketright, exec, grimshot --notify copy area"
|
||||
"$mod SHIFT, q, exec, loginctl lock-session"
|
||||
",XF86MonBrightnessDown, exec, light -U 10"
|
||||
",XF86MonBrightnessUp, exec, light -A 10"
|
||||
",XF86AudioRaiseVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ +1%"
|
||||
",XF86AudioLowerVolume, exec, pactl set-sink-volume @DEFAULT_SINK@ -1%"
|
||||
",XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle"
|
||||
|
||||
## Movement
|
||||
"$mod, p, layoutmsg, swapwithmaster"
|
||||
"$mod, e, layoutmsg, orientationnext"
|
||||
"$mod, h, movefocus, l"
|
||||
"$mod, l, movefocus, r"
|
||||
"$mod, k, movefocus, u"
|
||||
"$mod, j, movefocus, d"
|
||||
"$mod SHIFT, h, movewindow, l"
|
||||
"$mod SHIFT, l, movewindow, r"
|
||||
"$mod SHIFT, k, movewindow, u"
|
||||
"$mod SHIFT, j, movewindow, d"
|
||||
]
|
||||
++ (
|
||||
# workspaces
|
||||
# binds $mod + [shift +] {1..10} to [move to] workspace {1..10}
|
||||
builtins.concatLists (builtins.genList (
|
||||
x: let
|
||||
ws = let
|
||||
c = (x + 1) / 10;
|
||||
in
|
||||
builtins.toString (x + 1 - (c * 10));
|
||||
in [
|
||||
"$mod, ${ws}, workspace, ${toString (x + 1)}"
|
||||
"$mod SHIFT, ${ws}, movetoworkspacesilent, ${toString (x + 1)}"
|
||||
]
|
||||
)
|
||||
10)
|
||||
);
|
||||
windowrulev2 = [
|
||||
"workspace 9, class:^(WebCord|webcord|Webcord)$"
|
||||
"workspace 9, class:^(Signal|signal)$"
|
||||
"tile, class:^(Minecraft|minecraft)$"
|
||||
"opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$"
|
||||
"noanim,class:^(xwaylandvideobridge)$"
|
||||
"noinitialfocus,class:^(xwaylandvideobridge)$"
|
||||
"maxsize 1 1,class:^(xwaylandvideobridge)$"
|
||||
"noblur,class:^(xwaylandvideobridge)$"
|
||||
];
|
||||
};
|
||||
};
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
settings = {
|
||||
mainBar = {
|
||||
"height" = 14;
|
||||
"spacing" = 8;
|
||||
"layer" = "top";
|
||||
modules-left = [
|
||||
"hyprland/workspaces"
|
||||
];
|
||||
modules-center = [
|
||||
"hyprland/window"
|
||||
];
|
||||
modules-right = [
|
||||
"cpu"
|
||||
"memory"
|
||||
"network"
|
||||
"temperature"
|
||||
"pulseaudio"
|
||||
"battery"
|
||||
"clock"
|
||||
"tray"
|
||||
];
|
||||
"hyprland/workspaces" = {
|
||||
disable-scroll = true;
|
||||
};
|
||||
"hyprland/window" = {
|
||||
max-length = 100;
|
||||
};
|
||||
"clock" = {
|
||||
"format" = "{:%m-%d-%y %H:%M}";
|
||||
};
|
||||
"cpu" = {
|
||||
"format" = "{load} \@{avg_frequency}Ghz";
|
||||
};
|
||||
"memory" = {
|
||||
"format" = "{used}G";
|
||||
};
|
||||
"temperature" = {
|
||||
"thermal-zone" = 2;
|
||||
"hwmon-path" = "/sys/class/hwmon/hwmon0/temp1_input";
|
||||
"critical-threshold" = 80;
|
||||
"format-critical" = "!{temperatureC}°C";
|
||||
"format" = "{temperatureC}°C";
|
||||
};
|
||||
"battery" = {
|
||||
"states" = {
|
||||
"warning" = 30;
|
||||
"critical" = 15;
|
||||
};
|
||||
"format" = "{capacity}% {time}";
|
||||
"format-charging" = "+{capacity}% {time}";
|
||||
"format-plugged" = "+{capacity}%";
|
||||
};
|
||||
"network" = {
|
||||
"format-wifi" = "{signaldBm}db";
|
||||
"format-ethernet" = "{ifname}";
|
||||
"format-disconnected" = "";
|
||||
"tooltip" = "{ifname} = {ipaddr}/{cidr}";
|
||||
on-click = "${pkgs.hyprland}/bin/hyprctl dispatch exec \"[float] alacritty -e nmtui\"";
|
||||
};
|
||||
"pulseaudio" = {
|
||||
"format" = "{volume}%";
|
||||
on-click = "${pkgs.hyprland}/bin/hyprctl dispatch exec \"[float] alacritty -e pulsemixer\"";
|
||||
};
|
||||
};
|
||||
};
|
||||
style = ''
|
||||
* {
|
||||
font-family: "Spleen 32x64", "UbuntuMono Nerd Font";
|
||||
font-size: 14px;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: #090410;
|
||||
color: #bababd;
|
||||
}
|
||||
|
||||
window#waybar.hidden {
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
#workspaces {
|
||||
}
|
||||
|
||||
#window {
|
||||
margin: 2px;
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
background-color: #090410;
|
||||
}
|
||||
|
||||
button {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
background: inherit;
|
||||
border-top: 2px solid #bababd;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0 4px;
|
||||
background-color: #090410;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
#workspaces button.active {
|
||||
background-color: #090410;
|
||||
color:#bababd;
|
||||
border-top: 2px solid #bababd;
|
||||
}
|
||||
|
||||
#workspaces button.urgent {
|
||||
background-color: #eb4d4b;
|
||||
}
|
||||
|
||||
#clock,
|
||||
#battery,
|
||||
#cpu,
|
||||
#memory,
|
||||
#temperature,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#tray
|
||||
{
|
||||
padding: 2px;
|
||||
background-color: #090410;
|
||||
border-top: 2px solid #666666;
|
||||
color: #bababd;
|
||||
}
|
||||
|
||||
/* If workspaces is the leftmost module, omit left margin */
|
||||
.modules-left > widget:first-child > #workspaces {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
/* If workspaces is the rightmost module, omit right margin */
|
||||
.modules-right > widget:last-child > #workspaces {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
to {
|
||||
background-color: #ffffff;
|
||||
color: #000000;
|
||||
}
|
||||
}
|
||||
|
||||
#battery.critical:not(.charging) {
|
||||
background-color: #f53c3c;
|
||||
color: #ffffff;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
|
||||
label:focus {
|
||||
background-color: #090410;
|
||||
}
|
||||
|
||||
#temperature.critical {
|
||||
background-color: #eb4d4b;
|
||||
}
|
||||
|
||||
#tray > .needs-attention {
|
||||
-gtk-icon-effect: highlight;
|
||||
background-color: #eb4d4b;
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
@ -105,14 +105,15 @@
|
|||
size = 12.0;
|
||||
};
|
||||
colors = {
|
||||
background = "#090410";
|
||||
statusline = "#666666";
|
||||
focusedWorkspace = {
|
||||
background = "#000000";
|
||||
background = "#090410";
|
||||
border = "#666666";
|
||||
text = "#666666";
|
||||
};
|
||||
inactiveWorkspace = {
|
||||
background = "#000000";
|
||||
background = "#090410";
|
||||
border = "#000000";
|
||||
text = "#666666";
|
||||
};
|
||||
|
|
@ -140,7 +141,7 @@
|
|||
};
|
||||
output = {
|
||||
"*" = {
|
||||
bg = "#000000 solid_color";
|
||||
bg = "#090410 solid_color";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -2,25 +2,28 @@
|
|||
home.packages = with pkgs; [
|
||||
xdg-utils
|
||||
];
|
||||
xdg.configFile."mimeapps.list".force = true;
|
||||
xdg.mimeApps = {
|
||||
enable = true;
|
||||
defaultApplications = {
|
||||
"x-scheme-handler/http" = "librewolf.desktop";
|
||||
"x-scheme-handler/https" = "librewolf.desktop";
|
||||
"x-scheme-handler/chrome" = "librewolf.desktop";
|
||||
"video/mp4" = "librewolf.desktop";
|
||||
"video/mkv" = "librewolf.desktop";
|
||||
"image/jpeg" = "librewolf.desktop";
|
||||
"image/jpg" = "librewolf.desktop";
|
||||
"image/png" = "librewolf.desktop";
|
||||
"application/epub" = "librewolf.desktop";
|
||||
"application/pdf" = "librewolf.desktop";
|
||||
};
|
||||
associations.added = {
|
||||
"x-scheme-handler/http" = "librewolf.desktop";
|
||||
"x-scheme-handler/https" = "librewolf.desktop";
|
||||
"x-scheme-handler/chrome" = "librewolf.desktop";
|
||||
xdg = {
|
||||
configFile."mimeapps.list".force = true;
|
||||
mime.enable = true;
|
||||
mimeApps = {
|
||||
enable = true;
|
||||
defaultApplications = {
|
||||
"x-scheme-handler/http" = "librewolf.desktop";
|
||||
"x-scheme-handler/https" = "librewolf.desktop";
|
||||
"x-scheme-handler/chrome" = "librewolf.desktop";
|
||||
"video/mp4" = "librewolf.desktop";
|
||||
"video/mkv" = "librewolf.desktop";
|
||||
"image/jpeg" = "librewolf.desktop";
|
||||
"image/jpg" = "librewolf.desktop";
|
||||
"image/png" = "librewolf.desktop";
|
||||
"application/epub" = "librewolf.desktop";
|
||||
"application/pdf" = "librewolf.desktop";
|
||||
};
|
||||
associations.added = {
|
||||
"x-scheme-handler/http" = "librewolf.desktop";
|
||||
"x-scheme-handler/https" = "librewolf.desktop";
|
||||
"x-scheme-handler/chrome" = "librewolf.desktop";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
attrs,
|
||||
...
|
||||
}: {
|
||||
|
|
@ -19,7 +20,7 @@
|
|||
|
||||
# comms
|
||||
signal-desktop
|
||||
discord
|
||||
# discord # using Webcord via flatpak
|
||||
|
||||
# apps
|
||||
chromium
|
||||
|
|
@ -43,12 +44,8 @@
|
|||
hostname = "htz.10110110.xyz";
|
||||
identityFile = "/home/e/.ssh/id_ed25519";
|
||||
};
|
||||
"consensus" = {
|
||||
hostname = "consensus";
|
||||
identityFile = "/home/e/.ssh/id_ed25519";
|
||||
};
|
||||
};
|
||||
};
|
||||
fonts.fontconfig.enable = true;
|
||||
fonts.fontconfig.enable = lib.mkForce true;
|
||||
systemd.user.startServices = "sd-switch";
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue