feat: added LAN config for Korea
This commit is contained in:
parent
ba85a6474c
commit
63a3969e95
|
@ -19,7 +19,8 @@
|
||||||
# So to not dox myself this config file is hardcoded
|
# So to not dox myself this config file is hardcoded
|
||||||
rekey.secrets.enp0s20f0u2u4 = {
|
rekey.secrets.enp0s20f0u2u4 = {
|
||||||
file = ../secrets/koreaIP.age;
|
file = ../secrets/koreaIP.age;
|
||||||
path = "/etc/systemd/network/enp0s20f0u2u4.network";
|
path = "/etc/systemd/network/10-enp0s20f0u2u4.network";
|
||||||
|
mode = "444";
|
||||||
};
|
};
|
||||||
services.resolved = {
|
services.resolved = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -1,14 +1,13 @@
|
||||||
age-encryption.org/v1
|
age-encryption.org/v1
|
||||||
-> X25519 3J4C1gErVk61rhDZ2V8wNRQhOz4gZQ+kUnF0w4bacTM
|
-> X25519 PLUAL+hWRS3OD8ImxBUoRt9kX9dUkZaqW25fTbOtnAI
|
||||||
e6YK/xDjXtTTJL5wSbZ+xzhuGodu2OJeTw3u4hJ2Oik
|
zhT1ya1g6WlGahW0GUwsILumC1APvk0dTluzwh490Os
|
||||||
-> piv-p256 XTQkUA A0GdsIHUCWBXggnSZj0XGHDQk3OsTH9WB7nNzhZJnwj/
|
-> piv-p256 XTQkUA AuPSCNGUN4fg8FMqDNrDhU7WEmzAZgEgWBl+IFuDJfNO
|
||||||
j5bCq50HjIqPp1jTsyX6WfEBNooyq8ovMkYEzrn33CQ
|
TXkyWp7UOiIz3fmzJe5DXrG5WJKNnoaKQnCk/RseiMw
|
||||||
-> piv-p256 ZFgiIw AkhhWD/yOroM1ttX1PNAi6Fss1Nqm7pJHB4micU5IfsI
|
-> piv-p256 ZFgiIw A5tAnf15c/eAEMxnunVr3AiZ//ERgcSQVqBwv5DNU3XV
|
||||||
kTB28H46jvtCYF7u7PoN02kQof41ycuZbSQh6UWz57Y
|
ybrErVyofg6SMKhYkmx+xEVjTEVGqWlwFmWCFCS5Wyw
|
||||||
-> "\s0YT#-grease 3YP75@.
|
-> Qkg@hYz-grease c0A[ <IEUfBf P4}dgT .
|
||||||
aqpRxhJHTMQsvjgPW1bqZSD7YgOX9fw+VNUW+KURv6cV+gLYZeoecFruJXchA60E
|
B5wfx2tzBhImMdJkgchENUIR14wfItWtd1ybelvS26iGw8rz02Xj6/vPw6Dkm5mF
|
||||||
9efPuI8vUfNxmYzPQChsqxqDdzwc5wg0u+ZrwSaz
|
mP1nY5bTA8ojv9TeciAX7NopZVpWgmvs/C8yFg
|
||||||
--- M/B7EHfz8B63cqQ/zQwO64Pqo5ewYx2nqBoLZdtuGbY
|
--- zuav8flFoWG2+yRIssk2fg5P0ocNv53YqmzsLEluvHA
|
||||||
Þ$M:×-u/ö6<C3B6>[P°Ðµ”ˆâ<CB86>ЉX<E280B0><58>HÄ&Í¢ÀšœÌ<C593>w¬/^~*×èQ¶Þ¾’¡ß-þ<>ÎÍv`8<t$©,”%
|
lq`×<>:%OXèáD>Ôˆ›¥Eý‰P¡¤&î<>Ò„-ZA”á"¬R<C2AC>sK™p³›yÛOûkµ:™Ÿx…
|
||||||
°;ï‚;†
|
{Ûá!raª Û Þ6ga(p×|_ñJ¾Ø#Û}'SŒñr#Øç/¹bó¥Ñû†–Þ‘
|
||||||
Œ•íª—öƒÕ÷×yÿÙÍ
|
|
|
@ -17,7 +17,8 @@
|
||||||
initExtra = lib.mkAfter (''
|
initExtra = lib.mkAfter (''
|
||||||
function atuin-prefix-search() {
|
function atuin-prefix-search() {
|
||||||
if out=$(${pkgs.sqlite}/bin/sqlite3 -readonly ~/.local/share/atuin/history.db \
|
if out=$(${pkgs.sqlite}/bin/sqlite3 -readonly ~/.local/share/atuin/history.db \
|
||||||
'SELECT command FROM history WHERE command LIKE cast('"x'$(str_to_hex "$_atuin_search_prefix")'"' as text) || "%" ORDER BY timestamp DESC LIMIT 1 OFFSET '"$_atuin_search_offset"); then
|
'SELECT command FROM history WHERE command LIKE cast('"x'$(str_to_hex "$_atuin_search_prefix")'"' as text) ||\
|
||||||
|
"%" ORDER BY timestamp DESC LIMIT 1 OFFSET '"$_atuin_search_offset"); then
|
||||||
[[ -z "$out" ]] && return 1
|
[[ -z "$out" ]] && return 1
|
||||||
BUFFER=$out
|
BUFFER=$out
|
||||||
else
|
else
|
||||||
|
|
|
@ -1,11 +1,15 @@
|
||||||
{
|
{
|
||||||
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.programs.touchegg;
|
#
|
||||||
|
# GESTURES
|
||||||
|
#
|
||||||
|
# each on has a member type as a single entry enum
|
||||||
|
# to be able to definitely distinguish them
|
||||||
# common options
|
# common options
|
||||||
fingers = mkOption {
|
fingers = mkOption {
|
||||||
type = types.ints.between 2 5;
|
type = types.ints.between 2 5;
|
||||||
|
@ -20,6 +24,13 @@ with lib; let
|
||||||
# Submodules for the different gestures
|
# Submodules for the different gestures
|
||||||
swipe_gesture = types.submodule {
|
swipe_gesture = types.submodule {
|
||||||
inherit fingers;
|
inherit fingers;
|
||||||
|
type = mkOption {
|
||||||
|
type = types.enum ["swipe"];
|
||||||
|
description = ''
|
||||||
|
Type of gesture to perform
|
||||||
|
'';
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
|
|
||||||
direction = mkOption {
|
direction = mkOption {
|
||||||
type = types.enum ["UP" "DOWN" "LEFT" "RIGHT"];
|
type = types.enum ["UP" "DOWN" "LEFT" "RIGHT"];
|
||||||
|
@ -32,6 +43,13 @@ with lib; let
|
||||||
|
|
||||||
pinch_gesture = types.submodule {
|
pinch_gesture = types.submodule {
|
||||||
inherit fingers;
|
inherit fingers;
|
||||||
|
type = mkOption {
|
||||||
|
type = types.enum ["pinch"];
|
||||||
|
description = ''
|
||||||
|
Type of gesture to perform
|
||||||
|
'';
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
|
|
||||||
direction = mkOption {
|
direction = mkOption {
|
||||||
type = types.enum ["IN" "OUT"];
|
type = types.enum ["IN" "OUT"];
|
||||||
|
@ -44,7 +62,18 @@ with lib; let
|
||||||
|
|
||||||
tap_gesture = types.submodule {
|
tap_gesture = types.submodule {
|
||||||
inherit fingers;
|
inherit fingers;
|
||||||
|
type = mkOption {
|
||||||
|
type = types.enum ["tap"];
|
||||||
|
description = ''
|
||||||
|
Type of gesture to perform
|
||||||
|
'';
|
||||||
|
default = "";
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
#
|
||||||
|
# ACTIONS
|
||||||
|
#
|
||||||
|
|
||||||
# common options
|
# common options
|
||||||
animate = mkOption {
|
animate = mkOption {
|
||||||
|
@ -56,7 +85,7 @@ with lib; let
|
||||||
};
|
};
|
||||||
|
|
||||||
color = mkOption {
|
color = mkOption {
|
||||||
type = type.str;
|
type = types.str;
|
||||||
description = ''
|
description = ''
|
||||||
hex value of the animation color
|
hex value of the animation color
|
||||||
'';
|
'';
|
||||||
|
@ -65,7 +94,7 @@ with lib; let
|
||||||
};
|
};
|
||||||
|
|
||||||
borderColor = mkOption {
|
borderColor = mkOption {
|
||||||
type = type.str;
|
type = types.str;
|
||||||
description = ''
|
description = ''
|
||||||
hex value of the color of the
|
hex value of the color of the
|
||||||
animation border
|
animation border
|
||||||
|
@ -78,8 +107,6 @@ with lib; let
|
||||||
inherit animate color borderColor;
|
inherit animate color borderColor;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Submodules for the actions performed
|
|
||||||
# by gestures
|
|
||||||
maximize_restore_window = {
|
maximize_restore_window = {
|
||||||
inherit animation_common_options;
|
inherit animation_common_options;
|
||||||
};
|
};
|
||||||
|
@ -121,7 +148,11 @@ with lib; let
|
||||||
"auto"
|
"auto"
|
||||||
];
|
];
|
||||||
description = ''
|
description = ''
|
||||||
The desktop/workspace to switch to. It is recommended to use previous/next for better compatibility. However, some desktop environments, like KDE, allow to configure a grid of desktops and up/down/left/right come in handy. With SWIPE gestures, auto will use your natural scroll preferences to figure out the direction.
|
The desktop/workspace to switch to.
|
||||||
|
It is recommended to use previous/next for better compatibility.
|
||||||
|
However, some desktop environments, like KDE,
|
||||||
|
allow to configure a grid of desktops and up/down/left/right come in handy.
|
||||||
|
With SWIPE gestures, auto will use your natural scroll preferences to figure out the direction.
|
||||||
'';
|
'';
|
||||||
default = "auto";
|
default = "auto";
|
||||||
example = "next";
|
example = "next";
|
||||||
|
@ -255,6 +286,7 @@ with lib; let
|
||||||
};
|
};
|
||||||
|
|
||||||
mouse_click = {
|
mouse_click = {
|
||||||
|
inherit on;
|
||||||
button = mkOption {
|
button = mkOption {
|
||||||
type = types.enum ["left" "right" "middle"];
|
type = types.enum ["left" "right" "middle"];
|
||||||
description = ''
|
description = ''
|
||||||
|
@ -262,15 +294,6 @@ with lib; let
|
||||||
'';
|
'';
|
||||||
example = "left";
|
example = "left";
|
||||||
};
|
};
|
||||||
|
|
||||||
on = mkOption {
|
|
||||||
type = types.enum ["begin" "end"];
|
|
||||||
description = ''
|
|
||||||
If the command should be executed on the beginning or on the end of the gesture.
|
|
||||||
'';
|
|
||||||
default = "end";
|
|
||||||
example = "begin";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
gestureModule = let
|
gestureModule = let
|
||||||
|
@ -281,32 +304,11 @@ with lib; let
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
types.submodule {
|
types.submodule {
|
||||||
options = {
|
gestures = mkOption {
|
||||||
# hopefully this works it not
|
# hopefully this works it not
|
||||||
# because of submodule weirdness
|
# because of submodule weirdness
|
||||||
|
type = types.enum [swipe_gesture pinch_gesture tap_gesture];
|
||||||
swipe_gesture = mkOption {
|
|
||||||
type = types.listOf swipe_gesture;
|
|
||||||
description = helpStr;
|
description = helpStr;
|
||||||
default = [];
|
|
||||||
};
|
|
||||||
|
|
||||||
pinch_gesture = mkOption {
|
|
||||||
type = types.listOf pinch_gesture;
|
|
||||||
description = helpStr;
|
|
||||||
default = [];
|
|
||||||
};
|
|
||||||
|
|
||||||
tap_gesture = mkOption {
|
|
||||||
type = types.listOf tap_gesture;
|
|
||||||
description = helpStr;
|
|
||||||
default = [];
|
|
||||||
};
|
|
||||||
|
|
||||||
description = ''
|
|
||||||
the type of gesture
|
|
||||||
'';
|
|
||||||
|
|
||||||
example = ""; # TODO
|
example = ""; # TODO
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -321,6 +323,7 @@ with lib; let
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
options.programs.touchegg = {
|
options.programs.touchegg = {
|
||||||
|
inherit color borderColor;
|
||||||
enable = mkEnableOption "Touch gesture daemon";
|
enable = mkEnableOption "Touch gesture daemon";
|
||||||
|
|
||||||
animation_delay = mkOption {
|
animation_delay = mkOption {
|
||||||
|
@ -347,41 +350,181 @@ in {
|
||||||
example = "";
|
example = "";
|
||||||
};
|
};
|
||||||
|
|
||||||
color = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
description = ''
|
|
||||||
Color of the animation
|
|
||||||
'';
|
|
||||||
default = "39E9FED";
|
|
||||||
example = "";
|
|
||||||
};
|
|
||||||
|
|
||||||
borderColor = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
description = ''
|
|
||||||
Color of the animation
|
|
||||||
'';
|
|
||||||
default = "9E9FED";
|
|
||||||
example = "";
|
|
||||||
};
|
|
||||||
|
|
||||||
gestures = mkOption {
|
gestures = mkOption {
|
||||||
type = types.attrOf gestureModule;
|
type = types.attrsOf gestureModule;
|
||||||
description = "touchegg gestures";
|
description = "touchegg gestures";
|
||||||
default = {};
|
default = {};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = let
|
||||||
#assertions =
|
cfg = config.programs.touchegg;
|
||||||
|
in
|
||||||
|
mkIf cfg.enable {
|
||||||
# TODO
|
# TODO
|
||||||
home.packages = [pkgs.touchegg];
|
home.packages = [pkgs.touchegg];
|
||||||
|
|
||||||
xdg.configFile.touchegg = {
|
xdg.configFile.touchegg = {
|
||||||
target = "touchegg/touchegg.conf";
|
target = "touchegg/touchegg.conf";
|
||||||
text = builtins.toXML {};
|
text = ''
|
||||||
};
|
<touchégg>
|
||||||
|
|
||||||
#systemd.user.services.touchegg =
|
<settings>
|
||||||
|
<!--
|
||||||
|
Delay, in milliseconds, since the gesture starts before the animation is displayed.
|
||||||
|
Default: 150ms if this property is not set.
|
||||||
|
Example: Use the MAXIMIZE_RESTORE_WINDOW action. You will notice that no animation is
|
||||||
|
displayed if you complete the action quick enough. This property configures that time.
|
||||||
|
-->
|
||||||
|
<property name="animation_delay">150</property>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Percentage of the gesture to be completed to apply the action. Set to 0 to execute actions unconditionally.
|
||||||
|
Default: 20% if this property is not set.
|
||||||
|
Example: Use the MAXIMIZE_RESTORE_WINDOW action. You will notice that, even if the
|
||||||
|
animation is displayed, the action is not executed if you did not move your fingers far
|
||||||
|
enough. This property configures the percentage of the gesture that must be reached to
|
||||||
|
execute the action.
|
||||||
|
-->
|
||||||
|
<property name="action_execute_threshold">20</property>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Global animation colors can be configured to match your system colors using HEX notation:
|
||||||
|
|
||||||
|
<color>909090</color>
|
||||||
|
<borderColor>FFFFFF</borderColor>
|
||||||
|
|
||||||
|
You can also use auto:
|
||||||
|
|
||||||
|
<property name="color">auto</property>
|
||||||
|
<property name="borderColor">auto</property>
|
||||||
|
|
||||||
|
Notice that you can override an specific animation color.
|
||||||
|
-->
|
||||||
|
<property name="color">auto</property>
|
||||||
|
<property name="borderColor">auto</property>
|
||||||
|
</settings>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Configuration for every application.
|
||||||
|
-->
|
||||||
|
<application name="All">
|
||||||
|
<gesture type="SWIPE" fingers="3" direction="UP">
|
||||||
|
<action type="MAXIMIZE_RESTORE_WINDOW">
|
||||||
|
<animate>true</animate>
|
||||||
|
</action>
|
||||||
|
</gesture>
|
||||||
|
|
||||||
|
<gesture type="SWIPE" fingers="3" direction="DOWN">
|
||||||
|
<action type="MINIMIZE_WINDOW">
|
||||||
|
<animate>true</animate>
|
||||||
|
</action>
|
||||||
|
</gesture>
|
||||||
|
|
||||||
|
<gesture type="SWIPE" fingers="3" direction="LEFT">
|
||||||
|
<action type="TILE_WINDOW">
|
||||||
|
<direction>left</direction>
|
||||||
|
<animate>true</animate>
|
||||||
|
</action>
|
||||||
|
</gesture>
|
||||||
|
|
||||||
|
<gesture type="SWIPE" fingers="3" direction="RIGHT">
|
||||||
|
<action type="TILE_WINDOW">
|
||||||
|
<direction>right</direction>
|
||||||
|
<animate>true</animate>
|
||||||
|
</action>
|
||||||
|
</gesture>
|
||||||
|
|
||||||
|
<gesture type="PINCH" fingers="3" direction="IN">
|
||||||
|
<action type="CLOSE_WINDOW">
|
||||||
|
<animate>true</animate>
|
||||||
|
<color>F84A53</color>
|
||||||
|
<borderColor>F84A53</borderColor>
|
||||||
|
</action>
|
||||||
|
</gesture>
|
||||||
|
|
||||||
|
<gesture type="SWIPE" fingers="4" direction="UP">
|
||||||
|
<action type="CHANGE_DESKTOP">
|
||||||
|
<direction>auto</direction>
|
||||||
|
<animate>true</animate>
|
||||||
|
<animationPosition>auto</animationPosition>
|
||||||
|
</action>
|
||||||
|
</gesture>
|
||||||
|
|
||||||
|
<gesture type="SWIPE" fingers="4" direction="DOWN">
|
||||||
|
<action type="CHANGE_DESKTOP">
|
||||||
|
<direction>auto</direction>
|
||||||
|
<animate>true</animate>
|
||||||
|
<animationPosition>auto</animationPosition>
|
||||||
|
</action>
|
||||||
|
</gesture>
|
||||||
|
|
||||||
|
<gesture type="SWIPE" fingers="4" direction="RIGHT">
|
||||||
|
<action type="SEND_KEYS">
|
||||||
|
<repeat>false</repeat>
|
||||||
|
<modifiers>Super_L</modifiers>
|
||||||
|
<keys>S</keys>
|
||||||
|
<on>begin</on>
|
||||||
|
</action>
|
||||||
|
</gesture>
|
||||||
|
|
||||||
|
<gesture type="PINCH" fingers="4" direction="OUT">
|
||||||
|
<action type="SHOW_DESKTOP">
|
||||||
|
<animate>true</animate>
|
||||||
|
</action>
|
||||||
|
</gesture>
|
||||||
|
|
||||||
|
<gesture type="PINCH" fingers="4" direction="IN">
|
||||||
|
<action type="SEND_KEYS">
|
||||||
|
<repeat>false</repeat>
|
||||||
|
<modifiers>Super_L</modifiers>
|
||||||
|
<keys>A</keys>
|
||||||
|
<on>begin</on>
|
||||||
|
</action>
|
||||||
|
</gesture>
|
||||||
|
|
||||||
|
<gesture type="TAP" fingers="2">
|
||||||
|
<action type="MOUSE_CLICK">
|
||||||
|
<button>3</button>
|
||||||
|
<on>begin</on>
|
||||||
|
</action>
|
||||||
|
</gesture>
|
||||||
|
|
||||||
|
<gesture type="TAP" fingers="3">
|
||||||
|
<action type="MOUSE_CLICK">
|
||||||
|
<button>2</button>
|
||||||
|
<on>begin</on>
|
||||||
|
</action>
|
||||||
|
</gesture>
|
||||||
|
</application>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Configuration for specific applications.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<application name="Google-chrome,Chromium-browser">
|
||||||
|
<gesture type="PINCH" fingers="2" direction="IN">
|
||||||
|
<action type="SEND_KEYS">
|
||||||
|
<repeat>true</repeat>
|
||||||
|
<modifiers>Control_L</modifiers>
|
||||||
|
<keys>KP_Subtract</keys>
|
||||||
|
<decreaseKeys>KP_Add</decreaseKeys>
|
||||||
|
</action>
|
||||||
|
</gesture>
|
||||||
|
|
||||||
|
<gesture type="PINCH" fingers="2" direction="OUT">
|
||||||
|
<action type="SEND_KEYS">
|
||||||
|
<repeat>true</repeat>
|
||||||
|
<modifiers>Control_L</modifiers>
|
||||||
|
<keys>KP_Add</keys>
|
||||||
|
<decreaseKeys>KP_Subtract</decreaseKeys>
|
||||||
|
</action>
|
||||||
|
</gesture>
|
||||||
|
</application>
|
||||||
|
|
||||||
|
</touchégg>
|
||||||
|
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
6
users/common/touchegg-settings.nix
Normal file
6
users/common/touchegg-settings.nix
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{config, ...}: {
|
||||||
|
#
|
||||||
|
# MY Config
|
||||||
|
#
|
||||||
|
programs.touchegg.enable = true;
|
||||||
|
}
|
|
@ -9,7 +9,8 @@
|
||||||
common/graphical/autorandr.nix
|
common/graphical/autorandr.nix
|
||||||
common/programs/polybar.nix
|
common/programs/polybar.nix
|
||||||
common/programs/rofi.nix
|
common/programs/rofi.nix
|
||||||
#common/touchegg.nix
|
common/touchegg-module.nix
|
||||||
|
common/touchegg-settings.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
|
|
Loading…
Reference in a new issue