Compare commits

...

50 Commits

Author SHA1 Message Date
chn
a624e98514 split machine config 2024-01-16 22:41:03 +08:00
chn
67a03b5ccc default use x11 2024-01-16 22:07:15 +08:00
chn
f64390d7a7 pc: switch back to nvidia 2024-01-16 22:00:21 +08:00
chn
d0158b1608 pc: prime use offload 2024-01-16 21:33:49 +08:00
chn
36da74115e try to fix amdgpu (failed) 2024-01-16 21:32:29 +08:00
chn
fd13dd7319 try to fix 2024-01-16 20:14:41 +08:00
chn
0e75a6f4e8 update kernel 2024-01-16 16:40:41 +08:00
chn
ccc102ea00 fix chromium 2024-01-16 01:18:22 +08:00
chn
4465522bc5 hardware: disable nvidia modesetting 2024-01-16 00:47:48 +08:00
chn
8ba5913eca surface: fix opencolorio 2024-01-16 00:14:14 +08:00
chn
478d760816 comment 2024-01-15 19:39:10 +08:00
chn
98f9bfd1e5 pc: use prime 2024-01-15 18:59:26 +08:00
chn
2d1df77bc3 vps6: xray reset uuid 2024-01-15 10:27:37 +08:00
chn
dc19b577dc comment 2024-01-14 22:37:44 +08:00
chn
49898a9d01 fix scipy 2024-01-14 22:32:57 +08:00
chn
c35664984e plasma-manager: prepare 2024-01-14 22:06:00 +08:00
chn
aec8ef7c35 add some comment 2024-01-14 20:29:46 +08:00
chn
8931b90a33 some adjust 2024-01-14 19:56:55 +08:00
chn
2b2883ab48 hardware: use production nvidia driver 2024-01-14 18:52:05 +08:00
chn
410f73e8b1 pc: try to fix backlight 2024-01-14 17:36:36 +08:00
chn
8ef28b9de5 hardware.legion: init 2024-01-14 14:55:39 +08:00
chn
c8e0c74535 hardware: fix nvidia modesetting 2024-01-14 12:42:30 +08:00
chn
d5a3a6b05a fix afdko 2024-01-14 12:42:19 +08:00
chn
00901f5cb5 packages.workstation: remove quantum-espresso 2024-01-14 12:21:27 +08:00
chn
c83505da53 pc: switch to znver4 2024-01-13 22:29:51 +08:00
chn
30c18790f9 fix numpy pandas eventlet 2024-01-12 12:24:24 +08:00
chn
216117a30a yoga->surface 2024-01-11 21:28:06 +08:00
chn
c4af4de4ea packages.workstation: update wemeet 2024-01-10 20:04:22 +08:00
chn
daa824943f services.mirism: fix 2024-01-09 11:37:36 +08:00
chn
bcd64f2fe7 packages.desktop.vscode: add vasp support 2024-01-08 19:47:40 +08:00
chn
259dfd53f3 services.mirism: restart every day 2024-01-07 20:49:55 +08:00
chn
1a463ee716 add znver4 support 2024-01-06 14:10:12 +08:00
chn
78a0a55bed localPackages: update misskey 2024-01-06 13:06:36 +08:00
chn
2a465b55ec modules.system: fstrim set to weekly (default) 2024-01-05 12:41:58 +08:00
chn
ea3f4bb00c modules.system: remove versionSuffix 2024-01-05 12:26:40 +08:00
chn
bbf601f5a8 modules.packages.desktop-fat.steam: replace chinese comment 2024-01-04 22:32:54 +08:00
chn
8543130661 packages.desktop: add firefoxpwa 2024-01-03 23:01:04 +08:00
chn
aa93dd53b6 packages.server.ssh: prefer askPassword 2024-01-03 22:43:28 +08:00
chn
0031080837 system.kernel: enable preempt as default 2024-01-02 22:21:05 +08:00
chn
d3f38c3b55 packages.server: enable gpg 2023-12-31 10:46:57 +08:00
chn
0c49c71899 services.nginx.applications.main: fix 2023-12-29 20:22:21 +08:00
chn
b0e543d324 packages.server.ssh: enable ssh agent forward 2023-12-29 20:22:02 +08:00
chn
51c8a516ff packages.server: remove gnupg agent 2023-12-29 15:33:06 +08:00
chn
f3c8017959 Revert "try to enable codex"
This reverts commit 3867469fc5.
2023-12-28 21:04:45 +08:00
chn
3867469fc5 try to enable codex 2023-12-28 21:03:38 +08:00
chn
f23f7101e4 update zsh-lsd 2023-12-28 12:55:18 +08:00
chn
8eea6ffdc3 packages.server.zsh: remove zsh-nix-shell 2023-12-28 12:29:35 +08:00
chn
729df7ab63 update misskey 2023-12-28 11:05:52 +08:00
chn
c1737fcb08 packages.server.ssh: set askPassword to systemd-ask-password 2023-12-27 17:42:53 +08:00
chn
50862f0e33 users.chn: add forwardAgent 2023-12-27 17:18:04 +08:00
36 changed files with 969 additions and 1269 deletions

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
*.png filter=lfs diff=lfs merge=lfs -text

102
devices/nas/default.nix Normal file
View File

@@ -0,0 +1,102 @@
inputs:
{
config =
{
nixos =
{
system =
{
fileSystems =
{
mount =
{
vfat."/dev/disk/by-uuid/13BC-F0C9" = "/boot/efi";
btrfs =
{
"/dev/disk/by-uuid/0e184f3b-af6c-4f5d-926a-2559f2dc3063"."/boot" = "/boot";
"/dev/mapper/nix"."/nix" = "/nix";
"/dev/mapper/root1" =
{
"/nix/rootfs" = "/nix/rootfs";
"/nix/persistent" = "/nix/persistent";
"/nix/nodatacow" = "/nix/nodatacow";
"/nix/rootfs/current" = "/";
"/nix/backup" = "/nix/backup";
};
};
};
decrypt.manual =
{
enable = true;
devices =
{
"/dev/disk/by-uuid/5cf1d19d-b4a5-4e67-8e10-f63f0d5bb649".mapper = "root1";
"/dev/disk/by-uuid/aa684baf-fd8a-459c-99ba-11eb7636cb0d".mapper = "root2";
"/dev/disk/by-uuid/a779198f-cce9-4c3d-a64a-9ec45f6f5495" = { mapper = "nix"; ssd = true; };
};
delayedMount = [ "/" "/nix" ];
};
swap = [ "/nix/swap/swap" ];
rollingRootfs = { device = "/dev/mapper/root1"; path = "/nix/rootfs"; };
};
initrd.sshd.enable = true;
grub.installDevice = "efi";
nixpkgs.march = "silvermont";
nix.substituters = [ "https://cache.nixos.org/" "https://nix-store.chn.moe" ];
kernel.patches = [ "cjktty" ];
impermanence.enable = true;
networking.hostname = "nas";
gui.preferred = false;
};
hardware = { cpus = [ "intel" ]; gpus = [ "intel" ]; };
packages.packageSet = "desktop";
services =
{
snapper.enable = true;
fontconfig.enable = true;
samba =
{
enable = true;
hostsAllowed = "192.168. 127.";
shares = { home.path = "/home"; root.path = "/"; };
};
sshd = { enable = true; passwordAuthentication = true; };
xrayClient =
{
enable = true;
serverAddress = "74.211.99.69";
serverName = "vps6.xserver.chn.moe";
dns.extraInterfaces = [ "docker0" ];
};
xrdp = { enable = true; hostname = [ "nas.chn.moe" "office.chn.moe" ]; };
groupshare.enable = true;
smartd.enable = true;
beesd =
{
enable = true;
instances =
{
root = { device = "/"; hashTableSizeMB = 2048; };
nix = { device = "/nix"; hashTableSizeMB = 128; };
};
};
frpClient =
{
enable = true;
serverName = "frp.chn.moe";
user = "nas";
stcp.hpc = { localIp = "hpc.xmu.edu.cn"; localPort = 22; };
};
nginx = { enable = true; applications.webdav.instances."local.webdav.chn.moe" = {}; };
wireguard =
{
enable = true;
peers = [ "vps6" ];
publicKey = "xCYRbZEaGloMk7Awr00UR3JcDJy4AzVp4QvGNoyEgFY=";
wireguardIp = "192.168.83.4";
};
};
users.users = [ "chn" "xll" "zem" "yjq" "yxy" ];
};
};
}

143
devices/pc/default.nix Normal file
View File

@@ -0,0 +1,143 @@
inputs:
{
config =
{
nixos =
{
system =
{
fileSystems =
{
mount =
{
vfat."/dev/disk/by-uuid/3F57-0EBE" = "/boot/efi";
btrfs =
{
"/dev/disk/by-uuid/02e426ec-cfa2-4a18-b3a5-57ef04d66614"."/" = "/boot";
"/dev/mapper/root" = { "/nix" = "/nix"; "/nix/rootfs/current" = "/"; };
};
};
decrypt.auto =
{
"/dev/disk/by-uuid/55fdd19f-0f1d-4c37-bd4e-6df44fc31f26" = { mapper = "root"; ssd = true; };
"/dev/disk/by-uuid/4be45329-a054-4c20-8965-8c5b7ee6b35d" =
{ mapper = "swap"; ssd = true; before = [ "root" ]; };
};
swap = [ "/dev/mapper/swap" ];
resume = "/dev/mapper/swap";
rollingRootfs = { device = "/dev/mapper/root"; path = "/nix/rootfs"; };
};
grub =
{
# TODO: install windows
# windowsEntries = { "7317-1DB6" = "Windows"; "7321-FA9C" = "Windows for malware"; };
installDevice = "efi";
};
nix =
{
marches =
[
"znver2" "znver3" "znver4"
# FXSR SAHF XSAVE
"sandybridge"
# FXSR PREFETCHW RDRND SAHF
"silvermont"
# FXSR HLE LZCNT PREFETCHW RDRND SAHF XSAVE
"broadwell"
# FXSR HLE LZCNT PREFETCHW RDRND SAHF SGX XSAVE
"skylake"
# AVX-VNNI CLDEMOTE GFNI-SSE HRESET KL LZCNT MOVDIR64B MOVDIRI PCONFIG PREFETCHW PTWRITE RDRND
# SERIALIZE SGX WAITPKG WIDEKL XSAVE XSAVEOPT
"alderlake"
];
keepOutputs = true;
};
nixpkgs =
{ march = "znver4"; cuda = { enable = true; capabilities = [ "8.9" ]; forwardCompat = false; }; };
kernel.patches = [ "cjktty" "lantian" ];
impermanence.enable = true;
networking.hostname = "pc";
sysctl.laptop-mode = 5;
};
hardware =
{
cpus = [ "amd" ];
gpus = [ "nvidia" ];
bluetooth.enable = true;
joystick.enable = true;
printer.enable = true;
sound.enable = true;
legion.enable = true;
};
packages.packageSet = "workstation";
virtualization =
{
waydroid.enable = true;
docker.enable = true;
kvmHost = { enable = true; gui = true; autoSuspend = [ "win10" "hardconnect" ]; };
# kvmGuest.enable = true;
nspawn = [ "arch" "ubuntu-22.04" "fedora" ];
};
services =
{
snapper.enable = true;
fontconfig.enable = true;
samba =
{
enable = true;
private = true;
hostsAllowed = "192.168. 127.";
shares =
{
media.path = "/run/media/chn";
home.path = "/home/chn";
mnt.path = "/mnt";
share.path = "/home/chn/share";
};
};
sshd.enable = true;
xrayClient =
{
enable = true;
serverAddress = "74.211.99.69";
serverName = "vps6.xserver.chn.moe";
dns =
{
extraInterfaces = [ "docker0" ];
hosts =
{
"mirism.one" = "74.211.99.69";
"beta.mirism.one" = "74.211.99.69";
"ng01.mirism.one" = "74.211.99.69";
"debug.mirism.one" = "127.0.0.1";
"initrd.vps6.chn.moe" = "74.211.99.69";
"nix-store.chn.moe" = "127.0.0.1";
"initrd.nas.chn.moe" = "192.168.1.185";
};
};
};
firewall.trustedInterfaces = [ "virbr0" "waydroid0" ];
acme = { enable = true; cert."debug.mirism.one" = {}; };
frpClient =
{
enable = true;
serverName = "frp.chn.moe";
user = "pc";
stcpVisitor."yy.vnc".localPort = 6187;
};
nix-serve = { enable = true; hostname = "nix-store.chn.moe"; };
smartd.enable = true;
misskey.instances.misskey.hostname = "xn--qbtm095lrg0bfka60z.chn.moe";
beesd = { enable = true; instances.root = { device = "/"; hashTableSizeMB = 2048; }; };
wireguard =
{
enable = true;
peers = [ "vps6" ];
publicKey = "l1gFSDCeBxyf/BipXNvoEvVvLqPgdil84nmr5q6+EEw=";
wireguardIp = "192.168.83.3";
};
};
bugs = [ "xmunet" "suspend-hibernate-waydroid" "backlight" "amdpstate" ];
};
};
}

View File

@@ -0,0 +1,60 @@
inputs:
{
config =
{
nixos =
{
system =
{
fileSystems =
{
mount =
{
vfat."/dev/disk/by-uuid/86B8-CF80" = "/boot/efi";
btrfs =
{
"/dev/disk/by-uuid/e252f81d-b4b3-479f-8664-380a9b73cf83"."/boot" = "/boot";
"/dev/mapper/root" = { "/nix" = "/nix"; "/nix/rootfs/current" = "/"; };
};
};
decrypt.auto."/dev/disk/by-uuid/8186d34e-005c-4461-94c7-1003a5bd86c0" =
{ mapper = "root"; ssd = true; };
swap = [ "/nix/swap/swap" ];
rollingRootfs = { device = "/dev/mapper/root"; path = "/nix/rootfs"; };
};
nixpkgs.march = "skylake";
grub.installDevice = "efi";
nix.substituters = [ "https://cache.nixos.org/" "https://nix-store.chn.moe" ];
kernel.patches = [ "cjktty" ];
impermanence.enable = true;
networking.hostname = "surface";
};
hardware =
{
cpus = [ "intel" ];
gpus = [ "intel" ];
bluetooth.enable = true;
joystick.enable = true;
printer.enable = true;
sound.enable = true;
};
packages.packageSet = "desktop-fat";
virtualization.docker.enable = true;
services =
{
snapper.enable = true;
fontconfig.enable = true;
sshd.enable = true;
xrayClient =
{
enable = true;
serverAddress = "74.211.99.69";
serverName = "vps6.xserver.chn.moe";
dns.extraInterfaces = [ "docker0" ];
};
firewall.trustedInterfaces = [ "virbr0" ];
};
bugs = [ "xmunet" ];
};
};
}

84
devices/vps6/default.nix Normal file
View File

@@ -0,0 +1,84 @@
inputs:
{
config =
{
nixos =
{
system =
{
fileSystems =
{
mount =
{
btrfs =
{
"/dev/disk/by-uuid/24577c0e-d56b-45ba-8b36-95a848228600"."/boot" = "/boot";
"/dev/mapper/root" = { "/nix" = "/nix"; "/nix/rootfs/current" = "/"; };
};
};
decrypt.manual =
{
enable = true;
devices."/dev/disk/by-uuid/4f8aca22-9ec6-4fad-b21a-fd9d8d0514e8" = { mapper = "root"; ssd = true; };
delayedMount = [ "/" ];
};
swap = [ "/nix/swap/swap" ];
rollingRootfs = { device = "/dev/mapper/root"; path = "/nix/rootfs"; };
};
grub.installDevice = "/dev/disk/by-path/pci-0000:00:05.0-scsi-0:0:0:0";
nixpkgs.march = "sandybridge";
nix.substituters = [ "https://cache.nixos.org/" "https://nix-store.chn.moe" ];
initrd.sshd.enable = true;
impermanence.enable = true;
networking.hostname = "vps6";
};
packages.packageSet = "server";
services =
{
snapper.enable = true;
sshd.enable = true;
xrayServer = { enable = true; serverName = "vps6.xserver.chn.moe"; };
frpServer = { enable = true; serverName = "frp.chn.moe"; };
nginx =
{
streamProxy.map =
{
"anchor.fm" = { upstream = "anchor.fm:443"; proxyProtocol = false; };
"podcasters.spotify.com" = { upstream = "podcasters.spotify.com:443"; proxyProtocol = false; };
"xlog.chn.moe" = { upstream = "cname.xlog.app:443"; proxyProtocol = false; };
}
// (builtins.listToAttrs (builtins.map
(site: { name = "${site}.chn.moe"; value.upstream.address = "wireguard.pc.chn.moe"; })
[ "nix-store" "xn--qbtm095lrg0bfka60z" ]))
// (builtins.listToAttrs (builtins.map
(site: { name = "${site}.chn.moe"; value.upstream.address = "wireguard.vps7.chn.moe"; })
[
"xn--s8w913fdga" "misskey" "synapse" "syncv3.synapse" "matrix" "syncv3.matrix"
"send" "kkmeeting" "api" "git" "grafana"
]));
applications =
{
element.instances."element.chn.moe" = {};
synapse-admin.instances."synapse-admin.chn.moe" = {};
catalog.enable = true;
blog.enable = true;
main.enable = true;
};
};
coturn.enable = true;
httpua.enable = true;
mirism.enable = true;
fail2ban.enable = true;
wireguard =
{
enable = true;
peers = [ "pc" "nas" "vps7" ];
publicKey = "AVOsYUKQQCvo3ctst3vNi8XSVWo1Wh15066aHh+KpF4=";
wireguardIp = "192.168.83.1";
externalIp = "74.211.99.69";
lighthouse = true;
};
};
};
};
}

80
devices/vps7/default.nix Normal file
View File

@@ -0,0 +1,80 @@
inputs:
{
config =
{
nixos =
{
system =
{
fileSystems =
{
mount =
{
btrfs =
{
"/dev/disk/by-uuid/e36287f7-7321-45fa-ba1e-d126717a65f0"."/boot" = "/boot";
"/dev/mapper/root" = { "/nix" = "/nix"; "/nix/rootfs/current" = "/"; };
};
};
decrypt.manual =
{
enable = true;
devices."/dev/disk/by-uuid/db48c8de-bcf7-43ae-a977-60c4f390d5c4" = { mapper = "root"; ssd = true; };
delayedMount = [ "/" ];
};
swap = [ "/nix/swap/swap" ];
rollingRootfs = { device = "/dev/mapper/root"; path = "/nix/rootfs"; };
};
grub.installDevice = "/dev/disk/by-path/pci-0000:00:05.0-scsi-0:0:0:0";
nixpkgs.march = "broadwell";
nix.substituters = [ "https://cache.nixos.org/" "https://nix-store.chn.moe" ];
initrd.sshd.enable = true;
impermanence.enable = true;
networking.hostname = "vps7";
gui.preferred = false;
};
packages.packageSet = "desktop";
services =
{
snapper.enable = true;
fontconfig.enable = true;
sshd.enable = true;
rsshub.enable = true;
wallabag.enable = true;
misskey.instances =
{
misskey.hostname = "xn--s8w913fdga.chn.moe";
misskey-old = { port = 9727; redis.port = 3546; meilisearch.enable = false; };
};
synapse.instances =
{
synapse.matrixHostname = "synapse.chn.moe";
matrix = { port = 8009; redisPort = 6380; slidingSyncPort = 9001; };
};
xrdp = { enable = true; hostname = [ "vps7.chn.moe" ]; };
vaultwarden.enable = true;
beesd = { enable = true; instances.root = { device = "/"; hashTableSizeMB = 1024; }; };
photoprism.enable = true;
nextcloud.enable = true;
freshrss.enable = true;
send.enable = true;
huginn.enable = true;
fz-new-order.enable = true;
nginx.applications = { kkmeeting.enable = true; webdav.instances."webdav.chn.moe" = {}; };
httpapi.enable = true;
mastodon.enable = true;
gitea.enable = true;
grafana.enable = true;
fail2ban.enable = true;
wireguard =
{
enable = true;
peers = [ "vps6" ];
publicKey = "n056ppNxC9oECcW7wEbALnw8GeW7nrMImtexKWYVUBk=";
wireguardIp = "192.168.83.2";
externalIp = "95.111.228.40";
};
};
};
};
}

100
devices/xmupc1/default.nix Normal file
View File

@@ -0,0 +1,100 @@
inputs:
{
config =
{
nixos =
{
system =
{
fileSystems =
{
mount =
{
vfat."/dev/disk/by-uuid/3F57-0EBE" = "/boot/efi";
btrfs =
{
"/dev/disk/by-uuid/02e426ec-cfa2-4a18-b3a5-57ef04d66614"."/" = "/boot";
"/dev/mapper/root" = { "/nix" = "/nix"; "/nix/rootfs/current" = "/"; };
};
};
swap = [ "/dev/mapper/swap" ];
resume = "/dev/mapper/swap";
rollingRootfs = { device = "/dev/mapper/root"; path = "/nix/rootfs"; };
};
grub.installDevice = "efi";
nixpkgs =
{
march = "znver3";
cuda =
{
enable = true;
capabilities =
[
# 2080 Ti
"7.5"
# 3090
"8.6"
# 4090
"8.9"
];
forwardCompat = false;
};
};
gui.preferred = false;
kernel.patches = [ "cjktty" ];
impermanence.enable = true;
networking.hostname = "xmupc1";
};
hardware =
{
cpus = [ "amd" ];
gpus = [ "nvidia" ];
bluetooth.enable = true;
joystick.enable = true;
printer.enable = true;
sound.enable = true;
gamemode.drmDevice = 1;
};
packages.packageSet = "workstation";
virtualization = { docker.enable = true; kvmHost = { enable = true; gui = true; }; };
services =
{
snapper.enable = true;
fontconfig.enable = true;
samba =
{
enable = true;
private = true;
hostsAllowed = "192.168. 127.";
shares =
{
media.path = "/run/media/chn";
home.path = "/home/chn";
mnt.path = "/mnt";
share.path = "/home/chn/share";
};
};
sshd.enable = true;
xrayClient =
{
enable = true;
serverAddress = "74.211.99.69";
serverName = "vps6.xserver.chn.moe";
dns.extraInterfaces = [ "docker0" ];
};
firewall.trustedInterfaces = [ "virbr0" "waydroid0" ];
acme = { enable = true; cert."debug.mirism.one" = {}; };
smartd.enable = true;
beesd = { enable = true; instances.root = { device = "/nix/persistent"; hashTableSizeMB = 2048; }; };
wireguard =
{
enable = true;
peers = [ "vps6" ];
publicKey = "JEY7D4ANfTpevjXNvGDYO6aGwtBGRXsf/iwNwjwDRQk=";
wireguardIp = "192.168.83.5";
};
};
bugs = [ "xmunet" "firefox" ];
};
};
}

251
flake.lock generated
View File

@@ -43,6 +43,28 @@
"type": "github"
}
},
"devshell": {
"inputs": {
"flake-utils": "flake-utils_8",
"nixpkgs": [
"nur-linyinfeng",
"nixpkgs"
]
},
"locked": {
"lastModified": 1704648272,
"narHash": "sha256-zCDhWGl3bVpBKpDZ0p3NuGksZVg69BAChsY5W4KARL4=",
"owner": "numtide",
"repo": "devshell",
"rev": "f54745fd4aae92443817ddc566ce06572b178b5a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "devshell",
"type": "github"
}
},
"dguibert-nur-packages": {
"inputs": {
"dwl-src": "dwl-src",
@@ -388,6 +410,22 @@
}
},
"flake-compat_7": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_8": {
"flake": false,
"locked": {
"lastModified": 1673956053,
@@ -459,6 +497,27 @@
"type": "github"
}
},
"flake-parts_4": {
"inputs": {
"nixpkgs-lib": [
"nur-linyinfeng",
"nixpkgs"
]
},
"locked": {
"lastModified": 1704152458,
"narHash": "sha256-DS+dGw7SKygIWf9w4eNBUZsK+4Ug27NwEWmn2tnbycg=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "88a2cd8166694ba0b6cb374700799cec53aef527",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
@@ -498,6 +557,42 @@
"type": "github"
}
},
"flake-utils_10": {
"inputs": {
"systems": "systems_9"
},
"locked": {
"lastModified": 1694529238,
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_11": {
"inputs": {
"systems": "systems_10"
},
"locked": {
"lastModified": 1694529238,
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
@@ -605,11 +700,11 @@
"systems": "systems_7"
},
"locked": {
"lastModified": 1694529238,
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
"lastModified": 1701680307,
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
"type": "github"
},
"original": {
@@ -623,11 +718,11 @@
"systems": "systems_8"
},
"locked": {
"lastModified": 1694529238,
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
"lastModified": 1701680307,
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
"type": "github"
},
"original": {
@@ -1000,6 +1095,22 @@
"type": "github"
}
},
"nixos-stable": {
"locked": {
"lastModified": 1704420045,
"narHash": "sha256-C36QmoJd5tdQ5R9MC1jM7fBkZW9zBUqbUCsgwS6j4QU=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "c1be43e8e837b8dbee2b3665a007e761680f0c3d",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-23.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpak": {
"inputs": {
"flake-parts": "flake-parts_3",
@@ -1124,11 +1235,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1702961405,
"narHash": "sha256-H7TRw7SHZhC07K+E8YpDrDv19SMmA4sThQQPIrQ3vxg=",
"lastModified": 1705394306,
"narHash": "sha256-DFewkV8ruSbotl3Es5UkKnaFVHMPuS4X/mMPeHEMXcw=",
"owner": "CHN-beta",
"repo": "nixpkgs",
"rev": "530eea7ffc7a0c010557714f6d48981085d9b932",
"rev": "46340133d0c51841966a27526321254beb26ec62",
"type": "github"
},
"original": {
@@ -1140,11 +1251,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1703507584,
"narHash": "sha256-GvjQ462NjjmA2OXGT5ZjHJGA7BrqfsrUpMx4Iq6xkrI=",
"lastModified": 1705394283,
"narHash": "sha256-ZfMPm30ka4ILb++LqqTKT7K1lBllIExQV1yc+50sC4M=",
"owner": "CHN-beta",
"repo": "nixpkgs",
"rev": "105eaff164520aeca4401cf1e8cf87ef4f106a84",
"rev": "59b60f65c65a6ae571be195b1df2213d2ce75550",
"type": "github"
},
"original": {
@@ -1185,14 +1296,41 @@
"type": "github"
}
},
"nur-linyinfeng": {
"inputs": {
"devshell": "devshell",
"flake-compat": "flake-compat_7",
"flake-parts": "flake-parts_4",
"flake-utils": "flake-utils_9",
"nixos-stable": "nixos-stable",
"nixpkgs": [
"nixpkgs"
],
"nvfetcher": "nvfetcher",
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1704738212,
"narHash": "sha256-gZKun3wdpuFHwZdq/Qtlk3nAHDa/vm7HsInAZrUO3Ds=",
"owner": "linyinfeng",
"repo": "nur-packages",
"rev": "16a9c5d7ea6f546216d8205aebc2bd865b9a0e08",
"type": "github"
},
"original": {
"owner": "linyinfeng",
"repo": "nur-packages",
"type": "github"
}
},
"nur-xddxdd": {
"inputs": {
"flake-utils": "flake-utils_8",
"flake-utils": "flake-utils_10",
"flake-utils-plus": "flake-utils-plus",
"nixpkgs": [
"nixpkgs"
],
"nvfetcher": "nvfetcher"
"nvfetcher": "nvfetcher_2"
},
"locked": {
"lastModified": 1701418365,
@@ -1228,7 +1366,36 @@
},
"nvfetcher": {
"inputs": {
"flake-compat": "flake-compat_7",
"flake-compat": [
"nur-linyinfeng",
"flake-compat"
],
"flake-utils": [
"nur-linyinfeng",
"flake-utils"
],
"nixpkgs": [
"nur-linyinfeng",
"nixpkgs"
]
},
"locked": {
"lastModified": 1693539235,
"narHash": "sha256-ACmCq1+RnVq+EB7yeN6fThUR3cCJZb6lKEfv937WG84=",
"owner": "berberman",
"repo": "nvfetcher",
"rev": "2bcf73dea96497ac9c36ed320b457caa705f9485",
"type": "github"
},
"original": {
"owner": "berberman",
"repo": "nvfetcher",
"type": "github"
}
},
"nvfetcher_2": {
"inputs": {
"flake-compat": "flake-compat_8",
"flake-utils": [
"nur-xddxdd",
"flake-utils"
@@ -1357,7 +1524,7 @@
},
"pnpm2nix-nzbr": {
"inputs": {
"flake-utils": "flake-utils_9",
"flake-utils": "flake-utils_11",
"nixpkgs": [
"nixpkgs"
]
@@ -1432,6 +1599,7 @@
"nixpkgs-2305": "nixpkgs-2305",
"nixpkgs-unstable": "nixpkgs-unstable",
"nur": "nur",
"nur-linyinfeng": "nur-linyinfeng",
"nur-xddxdd": "nur-xddxdd",
"plasma-manager": "plasma-manager",
"pnpm2nix-nzbr": "pnpm2nix-nzbr",
@@ -1526,6 +1694,21 @@
"type": "github"
}
},
"systems_10": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
@@ -1631,6 +1814,42 @@
"type": "github"
}
},
"systems_9": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"nur-linyinfeng",
"nixpkgs"
]
},
"locked": {
"lastModified": 1704649711,
"narHash": "sha256-+qxqJrZwvZGilGiLQj3QbYssPdYCwl7ejwMImgH7VBQ=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "04f25d7bec9fb29d2c3bacaa48a3304840000d36",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},
"ts-fold": {
"flake": false,
"locked": {

577
flake.nix
View File

@@ -38,6 +38,7 @@
inputs = { nixpkgs.follows = "nixpkgs"; home-manager.follows = "home-manager"; };
};
nix-doom-emacs = { url = "github:nix-community/nix-doom-emacs"; inputs.nixpkgs.follows = "nixpkgs"; };
nur-linyinfeng = { url = "github:linyinfeng/nur-packages"; inputs.nixpkgs.follows = "nixpkgs"; };
};
outputs = inputs:
@@ -50,7 +51,7 @@
default = inputs.nixpkgs.legacyPackages.x86_64-linux.writeText "systems"
(builtins.concatStringsSep "\n" (builtins.map
(system: builtins.toString inputs.self.outputs.nixosConfigurations.${system}.config.system.build.toplevel)
[ "pc" "vps6" "vps7" "nas" "yoga" ]));
[ "pc" "vps6" "vps7" "nas" "surface" ]));
}
// (
builtins.listToAttrs (builtins.map
@@ -59,569 +60,29 @@
name = system;
value = inputs.self.outputs.nixosConfigurations.${system}.config.system.build.toplevel;
})
[ "pc" "vps6" "vps7" "nas" "yoga" "xmupc1" ])
[ "pc" "vps6" "vps7" "nas" "surface" "xmupc1" ])
);
# ssh-keygen -t rsa -C root@pe -f /mnt/nix/persistent/etc/ssh/ssh_host_rsa_key
# ssh-keygen -t ed25519 -C root@pe -f /mnt/nix/persistent/etc/ssh/ssh_host_ed25519_key
# systemd-machine-id-setup --root=/mnt/nix/persistent
nixosConfigurations =
let
system =
nixosConfigurations = builtins.listToAttrs (builtins.map
(system:
{
name = system;
value = inputs.nixpkgs.lib.nixosSystem
{
pc =
{
system =
{
fileSystems =
{
mount =
{
vfat."/dev/disk/by-uuid/3F57-0EBE" = "/boot/efi";
btrfs =
{
"/dev/disk/by-uuid/02e426ec-cfa2-4a18-b3a5-57ef04d66614"."/" = "/boot";
"/dev/mapper/root" = { "/nix" = "/nix"; "/nix/rootfs/current" = "/"; };
};
};
decrypt.auto =
{
"/dev/disk/by-uuid/55fdd19f-0f1d-4c37-bd4e-6df44fc31f26" = { mapper = "root"; ssd = true; };
"/dev/disk/by-uuid/4be45329-a054-4c20-8965-8c5b7ee6b35d" =
{ mapper = "swap"; ssd = true; before = [ "root" ]; };
};
swap = [ "/dev/mapper/swap" ];
resume = "/dev/mapper/swap";
rollingRootfs = { device = "/dev/mapper/root"; path = "/nix/rootfs"; };
};
grub =
{
windowsEntries = { "7317-1DB6" = "Windows"; "7321-FA9C" = "Windows for malware"; };
installDevice = "efi";
};
nix =
{
marches =
[
"alderlake"
# CX16
"sandybridge"
# CX16 SAHF FXSR
"silvermont"
# RDSEED MWAITX SHA CLZERO CX16 SSE4A ABM CLFLUSHOPT WBNOINVD
"znver2" "znver3"
# CX16 SAHF FXSR HLE RDSEED
"broadwell"
];
keepOutputs = true;
};
nixpkgs =
{ march = "alderlake"; cuda = { enable = true; capabilities = [ "8.6" ]; forwardCompat = false; }; };
kernel.patches = [ "cjktty" "lantian" ];
impermanence.enable = true;
networking.hostname = "pc";
sysctl.laptop-mode = 5;
};
hardware =
{
cpus = [ "intel" ];
gpus = [ "intel" "nvidia" ];
bluetooth.enable = true;
joystick.enable = true;
printer.enable = true;
sound.enable = true;
prime = { enable = true; mode = "offload"; busId = { intel = "PCI:0:2:0"; nvidia = "PCI:1:0:0"; }; };
gamemode.drmDevice = 1;
};
packages.packageSet = "workstation";
virtualization =
{
waydroid.enable = true;
docker.enable = true;
kvmHost = { enable = true; gui = true; autoSuspend = [ "win10" "hardconnect" ]; };
# kvmGuest.enable = true;
nspawn = [ "arch" "ubuntu-22.04" "fedora" ];
};
services =
{
snapper.enable = true;
fontconfig.enable = true;
samba =
{
enable = true;
private = true;
hostsAllowed = "192.168. 127.";
shares =
{
media.path = "/run/media/chn";
home.path = "/home/chn";
mnt.path = "/mnt";
share.path = "/home/chn/share";
};
};
sshd.enable = true;
xrayClient =
{
enable = true;
serverAddress = "74.211.99.69";
serverName = "vps6.xserver.chn.moe";
dns =
{
extraInterfaces = [ "docker0" ];
hosts =
{
"mirism.one" = "74.211.99.69";
"beta.mirism.one" = "74.211.99.69";
"ng01.mirism.one" = "74.211.99.69";
"debug.mirism.one" = "127.0.0.1";
"initrd.vps6.chn.moe" = "74.211.99.69";
"nix-store.chn.moe" = "127.0.0.1";
"initrd.nas.chn.moe" = "192.168.1.185";
};
};
};
firewall.trustedInterfaces = [ "virbr0" "waydroid0" ];
acme = { enable = true; cert."debug.mirism.one" = {}; };
frpClient =
{
enable = true;
serverName = "frp.chn.moe";
user = "pc";
stcpVisitor."yy.vnc".localPort = 6187;
};
nix-serve = { enable = true; hostname = "nix-store.chn.moe"; };
smartd.enable = true;
misskey.instances.misskey.hostname = "xn--qbtm095lrg0bfka60z.chn.moe";
beesd = { enable = true; instances.root = { device = "/"; hashTableSizeMB = 2048; }; };
wireguard =
{
enable = true;
peers = [ "vps6" ];
publicKey = "l1gFSDCeBxyf/BipXNvoEvVvLqPgdil84nmr5q6+EEw=";
wireguardIp = "192.168.83.3";
};
};
bugs =
[
"suspend-hibernate-no-platform" "hibernate-iwlwifi" "suspend-lid-no-wakeup" "xmunet"
"suspend-hibernate-waydroid" "power"
];
};
vps6 =
{
system =
{
fileSystems =
{
mount =
{
btrfs =
{
"/dev/disk/by-uuid/24577c0e-d56b-45ba-8b36-95a848228600"."/boot" = "/boot";
"/dev/mapper/root" = { "/nix" = "/nix"; "/nix/rootfs/current" = "/"; };
};
};
decrypt.manual =
{
enable = true;
devices."/dev/disk/by-uuid/4f8aca22-9ec6-4fad-b21a-fd9d8d0514e8" = { mapper = "root"; ssd = true; };
delayedMount = [ "/" ];
};
swap = [ "/nix/swap/swap" ];
rollingRootfs = { device = "/dev/mapper/root"; path = "/nix/rootfs"; };
};
grub.installDevice = "/dev/disk/by-path/pci-0000:00:05.0-scsi-0:0:0:0";
nixpkgs.march = "sandybridge";
nix.substituters = [ "https://cache.nixos.org/" "https://nix-store.chn.moe" ];
initrd.sshd.enable = true;
impermanence.enable = true;
networking.hostname = "vps6";
};
packages.packageSet = "server";
services =
{
snapper.enable = true;
sshd.enable = true;
xrayServer = { enable = true; serverName = "vps6.xserver.chn.moe"; };
frpServer = { enable = true; serverName = "frp.chn.moe"; };
nginx =
{
streamProxy.map =
{
"anchor.fm" = { upstream = "anchor.fm:443"; proxyProtocol = false; };
"podcasters.spotify.com" = { upstream = "podcasters.spotify.com:443"; proxyProtocol = false; };
"xlog.chn.moe" = { upstream = "cname.xlog.app:443"; proxyProtocol = false; };
}
// (builtins.listToAttrs (builtins.map
(site: { name = "${site}.chn.moe"; value.upstream.address = "wireguard.pc.chn.moe"; })
[ "nix-store" "xn--qbtm095lrg0bfka60z" ]))
// (builtins.listToAttrs (builtins.map
(site: { name = "${site}.chn.moe"; value.upstream.address = "wireguard.vps7.chn.moe"; })
[
"xn--s8w913fdga" "misskey" "synapse" "syncv3.synapse" "matrix" "syncv3.matrix"
"send" "kkmeeting" "api" "git" "grafana"
]));
applications =
{
element.instances."element.chn.moe" = {};
synapse-admin.instances."synapse-admin.chn.moe" = {};
catalog.enable = true;
blog.enable = true;
main.enable = true;
};
};
coturn.enable = true;
httpua.enable = true;
mirism.enable = true;
fail2ban.enable = true;
wireguard =
{
enable = true;
peers = [ "pc" "nas" "vps7" ];
publicKey = "AVOsYUKQQCvo3ctst3vNi8XSVWo1Wh15066aHh+KpF4=";
wireguardIp = "192.168.83.1";
externalIp = "74.211.99.69";
lighthouse = true;
};
};
};
vps7 =
{
system =
{
fileSystems =
{
mount =
{
btrfs =
{
"/dev/disk/by-uuid/e36287f7-7321-45fa-ba1e-d126717a65f0"."/boot" = "/boot";
"/dev/mapper/root" = { "/nix" = "/nix"; "/nix/rootfs/current" = "/"; };
};
};
decrypt.manual =
{
enable = true;
devices."/dev/disk/by-uuid/db48c8de-bcf7-43ae-a977-60c4f390d5c4" = { mapper = "root"; ssd = true; };
delayedMount = [ "/" ];
};
swap = [ "/nix/swap/swap" ];
rollingRootfs = { device = "/dev/mapper/root"; path = "/nix/rootfs"; };
};
grub.installDevice = "/dev/disk/by-path/pci-0000:00:05.0-scsi-0:0:0:0";
nixpkgs.march = "broadwell";
nix.substituters = [ "https://cache.nixos.org/" "https://nix-store.chn.moe" ];
initrd.sshd.enable = true;
impermanence.enable = true;
networking.hostname = "vps7";
gui.preferred = false;
};
packages.packageSet = "desktop";
services =
{
snapper.enable = true;
fontconfig.enable = true;
sshd.enable = true;
rsshub.enable = true;
wallabag.enable = true;
misskey.instances =
{
misskey.hostname = "xn--s8w913fdga.chn.moe";
misskey-old = { port = 9727; redis.port = 3546; meilisearch.enable = false; };
};
synapse.instances =
{
synapse.matrixHostname = "synapse.chn.moe";
matrix = { port = 8009; redisPort = 6380; slidingSyncPort = 9001; };
};
xrdp = { enable = true; hostname = [ "vps7.chn.moe" ]; };
vaultwarden.enable = true;
beesd = { enable = true; instances.root = { device = "/"; hashTableSizeMB = 1024; }; };
photoprism.enable = true;
nextcloud.enable = true;
freshrss.enable = true;
send.enable = true;
huginn.enable = true;
fz-new-order.enable = true;
nginx.applications = { kkmeeting.enable = true; webdav.instances."webdav.chn.moe" = {}; };
httpapi.enable = true;
mastodon.enable = true;
gitea.enable = true;
grafana.enable = true;
fail2ban.enable = true;
wireguard =
{
enable = true;
peers = [ "vps6" ];
publicKey = "n056ppNxC9oECcW7wEbALnw8GeW7nrMImtexKWYVUBk=";
wireguardIp = "192.168.83.2";
externalIp = "95.111.228.40";
};
};
};
nas =
{
system =
{
fileSystems =
{
mount =
{
vfat."/dev/disk/by-uuid/13BC-F0C9" = "/boot/efi";
btrfs =
{
"/dev/disk/by-uuid/0e184f3b-af6c-4f5d-926a-2559f2dc3063"."/boot" = "/boot";
"/dev/mapper/nix"."/nix" = "/nix";
"/dev/mapper/root1" =
{
"/nix/rootfs" = "/nix/rootfs";
"/nix/persistent" = "/nix/persistent";
"/nix/nodatacow" = "/nix/nodatacow";
"/nix/rootfs/current" = "/";
"/nix/backup" = "/nix/backup";
};
};
};
decrypt.manual =
{
enable = true;
devices =
{
"/dev/disk/by-uuid/5cf1d19d-b4a5-4e67-8e10-f63f0d5bb649".mapper = "root1";
"/dev/disk/by-uuid/aa684baf-fd8a-459c-99ba-11eb7636cb0d".mapper = "root2";
"/dev/disk/by-uuid/a779198f-cce9-4c3d-a64a-9ec45f6f5495" = { mapper = "nix"; ssd = true; };
};
delayedMount = [ "/" "/nix" ];
};
swap = [ "/nix/swap/swap" ];
rollingRootfs = { device = "/dev/mapper/root1"; path = "/nix/rootfs"; };
};
initrd.sshd.enable = true;
grub.installDevice = "efi";
nixpkgs.march = "silvermont";
nix.substituters = [ "https://cache.nixos.org/" "https://nix-store.chn.moe" ];
kernel.patches = [ "cjktty" ];
impermanence.enable = true;
networking.hostname = "nas";
gui.preferred = false;
};
hardware = { cpus = [ "intel" ]; gpus = [ "intel" ]; };
packages.packageSet = "desktop";
services =
{
snapper.enable = true;
fontconfig.enable = true;
samba =
{
enable = true;
hostsAllowed = "192.168. 127.";
shares = { home.path = "/home"; root.path = "/"; };
};
sshd = { enable = true; passwordAuthentication = true; };
xrayClient =
{
enable = true;
serverAddress = "74.211.99.69";
serverName = "vps6.xserver.chn.moe";
dns.extraInterfaces = [ "docker0" ];
};
xrdp = { enable = true; hostname = [ "nas.chn.moe" "office.chn.moe" ]; };
groupshare.enable = true;
smartd.enable = true;
beesd =
{
enable = true;
instances =
{
root = { device = "/"; hashTableSizeMB = 2048; };
nix = { device = "/nix"; hashTableSizeMB = 128; };
};
};
frpClient =
{
enable = true;
serverName = "frp.chn.moe";
user = "nas";
stcp.hpc = { localIp = "hpc.xmu.edu.cn"; localPort = 22; };
};
nginx = { enable = true; applications.webdav.instances."local.webdav.chn.moe" = {}; };
wireguard =
{
enable = true;
peers = [ "vps6" ];
publicKey = "xCYRbZEaGloMk7Awr00UR3JcDJy4AzVp4QvGNoyEgFY=";
wireguardIp = "192.168.83.4";
};
};
users.users = [ "chn" "xll" "zem" "yjq" "yxy" ];
};
yoga =
{
system =
{
fileSystems =
{
mount =
{
vfat."/dev/disk/by-uuid/86B8-CF80" = "/boot/efi";
btrfs =
{
"/dev/disk/by-uuid/e252f81d-b4b3-479f-8664-380a9b73cf83"."/boot" = "/boot";
"/dev/mapper/root" = { "/nix" = "/nix"; "/nix/rootfs/current" = "/"; };
};
};
decrypt.auto."/dev/disk/by-uuid/8186d34e-005c-4461-94c7-1003a5bd86c0" =
{ mapper = "root"; ssd = true; };
swap = [ "/nix/swap/swap" ];
rollingRootfs = { device = "/dev/mapper/root"; path = "/nix/rootfs"; };
};
nixpkgs.march = "silvermont";
grub.installDevice = "efi";
nix.substituters = [ "https://cache.nixos.org/" "https://nix-store.chn.moe" ];
kernel.patches = [ "cjktty" ];
impermanence.enable = true;
networking.hostname = "yoga";
};
hardware =
{
cpus = [ "intel" ];
gpus = [ "intel" ];
bluetooth.enable = true;
joystick.enable = true;
printer.enable = true;
sound.enable = true;
halo-keyboard.enable = true;
};
packages.packageSet = "desktop-fat";
virtualization.docker.enable = true;
services =
{
snapper.enable = true;
fontconfig.enable = true;
sshd.enable = true;
xrayClient =
{
enable = true;
serverAddress = "74.211.99.69";
serverName = "vps6.xserver.chn.moe";
dns.extraInterfaces = [ "docker0" ];
};
firewall.trustedInterfaces = [ "virbr0" ];
};
bugs = [ "xmunet" ];
};
xmupc1 =
{
system =
{
fileSystems =
{
mount =
{
vfat."/dev/disk/by-uuid/3F57-0EBE" = "/boot/efi";
btrfs =
{
"/dev/disk/by-uuid/02e426ec-cfa2-4a18-b3a5-57ef04d66614"."/" = "/boot";
"/dev/mapper/root" = { "/nix" = "/nix"; "/nix/rootfs/current" = "/"; };
};
};
swap = [ "/dev/mapper/swap" ];
resume = "/dev/mapper/swap";
rollingRootfs = { device = "/dev/mapper/root"; path = "/nix/rootfs"; };
};
grub.installDevice = "efi";
nixpkgs =
{
march = "znver3";
cuda =
{
enable = true;
capabilities =
[
# 2080 Ti
"7.5"
# 3090
"8.6"
# 4090
"8.9"
];
forwardCompat = false;
};
};
gui.preferred = false;
kernel.patches = [ "cjktty" ];
impermanence.enable = true;
networking.hostname = "xmupc1";
};
hardware =
{
cpus = [ "amd" ];
gpus = [ "nvidia" ];
bluetooth.enable = true;
joystick.enable = true;
printer.enable = true;
sound.enable = true;
gamemode.drmDevice = 1;
};
packages.packageSet = "workstation";
virtualization = { docker.enable = true; kvmHost = { enable = true; gui = true; }; };
services =
{
snapper.enable = true;
fontconfig.enable = true;
samba =
{
enable = true;
private = true;
hostsAllowed = "192.168. 127.";
shares =
{
media.path = "/run/media/chn";
home.path = "/home/chn";
mnt.path = "/mnt";
share.path = "/home/chn/share";
};
};
sshd.enable = true;
xrayClient =
{
enable = true;
serverAddress = "74.211.99.69";
serverName = "vps6.xserver.chn.moe";
dns.extraInterfaces = [ "docker0" ];
};
firewall.trustedInterfaces = [ "virbr0" "waydroid0" ];
acme = { enable = true; cert."debug.mirism.one" = {}; };
smartd.enable = true;
beesd = { enable = true; instances.root = { device = "/nix/persistent"; hashTableSizeMB = 2048; }; };
wireguard =
{
enable = true;
peers = [ "vps6" ];
publicKey = "JEY7D4ANfTpevjXNvGDYO6aGwtBGRXsf/iwNwjwDRQk=";
wireguardIp = "192.168.83.5";
};
};
bugs = [ "xmunet" "firefox" ];
};
system = "x86_64-linux";
specialArgs = { topInputs = inputs; inherit localLib; };
modules = localLib.mkModules
[
(inputs: { config.nixpkgs.overlays = [(final: prev:
{ localPackages = (import ./local/pkgs { inherit (inputs) lib; pkgs = final; }); })]; })
./modules
./devices/${system}
];
};
in builtins.listToAttrs (builtins.map
(system:
{
name = system.name;
value = inputs.nixpkgs.lib.nixosSystem
{
system = "x86_64-linux";
specialArgs = { topInputs = inputs; inherit localLib; };
modules = localLib.mkModules
[
(inputs: { config.nixpkgs.overlays = [(final: prev:
{ localPackages = (import ./local/pkgs { inherit (inputs) lib; pkgs = final; }); })]; })
./modules
{ config.nixos = system.value; }
];
};
})
(localLib.attrsToList system));
})
[ "pc" "vps6" "vps7" "nas" "surface" "xmupc1" ]);
# sudo HTTPS_PROXY=socks5://127.0.0.1:10884 nixos-install --flake .#bootstrap --option substituters http://127.0.0.1:5000 --option require-sigs false --option system-features gccarch-silvermont
# nix-serve -p 5000
# nix copy --substitute-on-destination --to ssh://server /run/current-system

View File

@@ -4,13 +4,13 @@
}:
let
pname = "misskey";
version = "2023.12.0";
version = "2023.12.2";
src = fetchFromGitHub
{
owner = "CHN-beta";
repo = "misskey";
rev = "bec1dc37598b71c377643ee77330d4d6f7eb31f2";
sha256 = "sha256-svLpG4xQ2mtsJ6gm+Ap8fZKTOl5V68XybGDvymsV4F4=";
rev = "cd1d0ab06eb6b7e06afdfae9a12b2d2829564229";
hash = "sha256-sKEZ1ZpyA/02CNwiOMIOS5f/csx6ELDwCVJYc+oMChM=";
fetchSubmodules = true;
};
originalPnpmPackage = mkPnpmPackage

View File

@@ -79,6 +79,8 @@ inputs:
};
firefox.programs.firefox.enable = inputs.lib.mkForce false;
power.boot.kernelParams = [ "cpufreq.default_governor=powersave" ];
backlight.boot.kernelParams = [ "nvidia.NVreg_RegistryDwords=EnableBrightnessControl=1" ];
amdpstate.boot.kernelParams = [ "amd_pstate=active" ];
};
in
{

View File

@@ -31,6 +31,7 @@ inputs:
{
nix-vscode-extensions = topInputs.nix-vscode-extensions.extensions."${prev.system}";
nur-xddxdd = topInputs.nur-xddxdd.overlays.default final prev;
nur-linyinfeng = (topInputs.nur-linyinfeng.overlays.default final prev).linyinfeng;
deploy-rs =
{ inherit (prev) deploy-rs; inherit ((topInputs.deploy-rs.overlay final prev).deploy-rs) lib; };
# needed by mirism

View File

@@ -1,5 +1,6 @@
inputs:
{
imports = inputs.localLib.mkModules [ ./legion.nix ];
options.nixos.hardware = let inherit (inputs.lib) mkOption types; in
{
bluetooth.enable = mkOption { type = types.bool; default = false; };
@@ -108,17 +109,25 @@ inputs:
{
intel = [ intel-compute-runtime intel-media-driver libvdpau-va-gl ]; # intel-vaapi-driver
nvidia = [ vaapiVdpau ];
amd = [];
amd = [ amdvlk rocmPackages.clr rocmPackages.clr.icd ];
};
in
concatLists (map (gpu: packages.${gpu}) hardware.gpus);
driSupport32Bit = true;
};
nvidia.nvidiaSettings = builtins.elem "nvidia" hardware.gpus;
nvidia = mkIf (builtins.elem "nvidia" hardware.gpus)
{
modesetting.enable = true;
powerManagement.enable = true;
dynamicBoost.enable = true;
nvidiaSettings = true;
package = inputs.config.boot.kernelPackages.nvidiaPackages.production;
};
};
}
)
(mkIf (builtins.elem "intel" hardware.gpus) { services.xserver.deviceSection = ''Driver "modesetting"''; })
(mkIf (builtins.elem "intel" hardware.gpus) { services.xserver.videoDrivers = [ "modesetting" ]; })
(mkIf (builtins.elem "amd" hardware.gpus) { services.xserver.videoDrivers = [ "modesetting" ]; })
# prime
(
mkIf hardware.prime.enable
@@ -143,7 +152,6 @@ inputs:
prime = listToAttrs
(map (gpu: { inherit (gpu) value; name = "${gpu.name}BusId"; }) (attrsToList hardware.prime.busId));
}
];
}
)

View File

@@ -0,0 +1,16 @@
inputs:
{
options.nixos.hardware.legion = let inherit (inputs.lib) mkOption types; in
{
enable = mkOption { type = types.bool; default = false; };
};
config =
let
inherit (inputs.lib) mkIf;
inherit (inputs.config.nixos.hardware) legion;
in mkIf legion.enable
{
environment.systemPackages = [ inputs.pkgs.lenovo-legion ];
boot.extraModulePackages = [ inputs.config.boot.kernelPackages.lenovo-legion-module ];
};
}

View File

@@ -3,6 +3,7 @@ inputs:
imports = inputs.localLib.mkModules
[
./chromium.nix
./steam.nix
];
config =
let
@@ -42,6 +43,6 @@ inputs:
] ++ (with inputs.lib; filter isDerivation (attrValues plasma5Packages.kdeGear));
};
};
programs = { steam.enable = true; kdeconnect.enable = true; };
programs.kdeconnect.enable = true;
};
}

View File

@@ -0,0 +1,23 @@
inputs:
{
config =
let
inherit (inputs.lib) mkIf;
in mkIf (builtins.elem "desktop-fat" inputs.config.nixos.packages._packageSets)
{
programs.steam =
{
enable = true;
package = inputs.pkgs.steam.override (prev:
{
steam = prev.steam.overrideAttrs (prev:
{
postInstall = prev.postInstall +
''
sed -i 's#Comment\[zh_CN\]=.*$#Comment\[zh_CN\]=®#' $out/share/applications/steam.desktop
'';
});
});
};
};
}

View File

@@ -19,6 +19,7 @@ inputs:
mpv nomacs
# themes
tela-circle-icon-theme
firefoxpwa
];
users.sharedModules =
[{
@@ -33,7 +34,12 @@ inputs:
{
adb.enable = true;
wireshark = { enable = true; package = inputs.pkgs.wireshark; };
firefox = { enable = true; languagePacks = [ "zh-CN" "en-US" ]; };
firefox =
{
enable = true;
languagePacks = [ "zh-CN" "en-US" ];
nativeMessagingHosts.packages = [ inputs.pkgs.firefoxpwa ];
};
vim.package = inputs.pkgs.vim-full;
};
nixpkgs.config.packageOverrides = pkgs:

View File

@@ -44,6 +44,8 @@ inputs:
lextudio.restructuredtext trond-snekvik.simple-rst
# markdown
shd101wyy.markdown-preview-enhanced
# vasp
mystery.vasp-support
];
}
)];

View File

@@ -4,6 +4,7 @@ inputs:
[
./ssh
./zsh
./gpg.nix
];
config =
let
@@ -108,7 +109,6 @@ inputs:
nix-index-database.comma.enable = true;
nix-index.enable = true;
command-not-found.enable = false;
gnupg.agent = { enable = true; enableSSHSupport = true; };
autojump.enable = true;
git =
{

View File

@@ -0,0 +1,10 @@
inputs:
{
config =
let
inherit (inputs.lib) mkIf;
in mkIf (builtins.elem "server" inputs.config.nixos.packages._packageSets)
{
programs.gnupg.agent = { enable = true; pinentryFlavor = "tty"; };
};
}

View File

@@ -96,6 +96,14 @@ inputs:
else []
))
(attrsToList servers)));
programs.ssh =
{
startAgent = true;
enableAskPassword = true;
askPassword = "${inputs.pkgs.systemd}/bin/systemd-ask-password";
extraConfig = "AddKeysToAgent yes";
};
environment.sessionVariables.SSH_ASKPASS_REQUIRE = "prefer";
nixos.users.sharedModules =
[(hmInputs: {
config.programs.ssh =

View File

@@ -49,8 +49,8 @@ inputs:
{
owner = "z-shell";
repo = "zsh-lsd";
rev = "029a9cb0a9b39c9eb6c5b5100dd9182813332250";
sha256 = "sha256-oWjWnhiimlGBMaZlZB+OM47jd9hporKlPNwCx6524Rk=";
rev = "65bb5ac49190beda263aae552a9369127961632d";
hash = "sha256-JSNsfpgiqWhtmGQkC3B0R1Y1QnDKp9n0Zaqzjhwt7Xk=";
};
}
];
@@ -72,7 +72,6 @@ inputs:
{
enable = true;
plugins = [ "git" "colored-man-pages" "extract" "history-substring-search" "autojump" ];
customPkgs = with inputs.pkgs; [ zsh-nix-shell ];
};
};
};

View File

@@ -19,7 +19,7 @@ inputs:
nix-template appimage-run nil nixd nix-alien nix-serve node2nix nix-prefetch-github prefetch-npm-deps
nix-prefetch-docker pnpm-lock-export bundix
# instant messager
zoom-us signal-desktop qq nur-xddxdd.wechat-uos slack inputs.config.nur.repos.linyinfeng.wemeet
zoom-us signal-desktop qq nur-xddxdd.wechat-uos slack nur-linyinfeng.wemeet
cinny-desktop nheko
# office
libreoffice-qt texstudio poppler_utils pdftk gnuplot pdfchain hdfview
@@ -33,7 +33,7 @@ inputs:
# text editor
appflowy notion-app-enhanced joplin-desktop standardnotes logseq
# math, physics and chemistry
mathematica octaveFull root ovito paraview localPackages.vesta qchem.quantum-espresso
mathematica octaveFull root ovito paraview localPackages.vesta # qchem.quantum-espresso
localPackages.vasp localPackages.vaspkit jmol localPackages.v_sim
# encryption and password management
john crunch hashcat

View File

@@ -32,6 +32,8 @@ inputs:
User = inputs.config.users.users.mirism.name;
Group = inputs.config.users.users.mirism.group;
ExecStart = "${inputs.pkgs.localPackages.mirism}/bin/${instance}";
RuntimeMaxSec = "1d";
Restart = "always";
};
};
})

View File

@@ -7,7 +7,8 @@ inputs:
config =
let
inherit (inputs.config.nixos.services.nginx.applications) main;
in
inherit (inputs.lib) mkIf;
in mkIf main.enable
{
nixos.services.nginx.https."chn.moe".location =
{

View File

@@ -19,7 +19,7 @@ inputs:
];
config =
{
services = { dbus.implementation = "broker"; fstrim = { enable = true; interval = "daily"; }; };
services = { dbus.implementation = "broker"; fstrim.enable = true; };
time.timeZone = "Asia/Shanghai";
boot =
{
@@ -51,5 +51,11 @@ inputs:
# environment.variables.LIBRARY_PATH = "/run/current-system/sw/lib";
virtualisation.oci-containers.backend = "docker";
home-manager.sharedModules = [{ home.stateVersion = "22.11"; }];
system =
{
stateVersion = "22.11";
configurationRevision = inputs.topInputs.self.rev or "dirty";
nixos.versionSuffix = inputs.lib.mkForce "";
};
};
}

View File

@@ -17,7 +17,7 @@ inputs:
services.xserver =
{
enable = true;
displayManager = { sddm.enable = true; defaultSession = "plasmawayland"; };
displayManager = { sddm.enable = true; defaultSession = "plasma"; };
desktopManager.plasma5.enable = true;
videoDrivers = inputs.config.nixos.hardware.gpus;
};

View File

@@ -32,7 +32,8 @@ inputs:
];
extraModulePackages = (with inputs.config.boot.kernelPackages; [ v4l2loopback ]) ++ kernel.modules.install;
extraModprobeConfig = builtins.concatStringsSep "\n" kernel.modules.modprobeConfig;
kernelParams = [ "delayacct" "acpi_osi=Linux" ];
kernelParams = [ "delayacct" "acpi_osi=Linux" "acpi.ec_no_wakeup=1" ];
blacklistedKernelModules = [ "ideapad_laptop" ];
kernelPackages = inputs.pkgs.linuxPackages_xanmod_latest;
kernelPatches =
let
@@ -72,6 +73,12 @@ inputs:
PARAVIRT_TIME_ACCOUNTING = yes;
PM_AUTOSLEEP = yes;
WQ_POWER_EFFICIENT_DEFAULT = yes;
PREEMPT_VOLUNTARY = inputs.lib.mkForce no;
PREEMPT = inputs.lib.mkForce yes;
NO_HZ_FULL = yes;
HZ_1000 = inputs.lib.mkForce yes;
HZ_250 = inputs.lib.mkForce no;
HZ = inputs.lib.mkForce (freeform "1000");
};
};
};

View File

@@ -45,7 +45,6 @@ inputs:
};
nixPath = [ "nixpkgs=${inputs.topInputs.nixpkgs}" ];
};
system = { stateVersion = "22.11"; configurationRevision = inputs.topInputs.self.rev or "dirty"; };
systemd.services.nix-daemon =
{
serviceConfig = { CacheDirectory = "nix"; Slice = "-.slice"; Nice = "19"; };

View File

@@ -138,8 +138,10 @@ inputs:
sandybridge = "MSANDYBRIDGE";
silvermont = "MSILVERMONT";
broadwell = "MBROADWELL";
skylake = "MSKYLAKE";
znver2 = "MZEN2";
znver3 = "MZEN3";
znver4 = "MZEN4";
};
in { GENERIC_CPU = inputs.lib.kernel.no; ${kernelConfig.${nixpkgs.march}} = inputs.lib.kernel.yes; };
}];

View File

@@ -5,6 +5,7 @@ inputs:
let
inherit (inputs.lib) mkIf;
inherit (inputs.config.nixos) users;
inherit (builtins) listToAttrs;
in mkIf (builtins.elem "chn" users.users)
{
users.users.chn =
@@ -42,7 +43,10 @@ inputs:
# identityFile = "~/.ssh/xmuhk_id_rsa";
xmuhk = { host = "xmuhk"; hostname = "10.26.14.56"; user = "xmuhk"; };
xmuhk2 = { host = "xmuhk2"; hostname = "183.233.219.132"; user = "xmuhk"; port = 62022; };
};
}
// (listToAttrs (map
(system: { name = system; value.forwardAgent = true; })
[ "vps6" "wireguard.vps6" "vps7" "wireguard.vps7" "wireguard.pc" "nas" "wireguard.nas" ]));
};
home.packages =
[

View File

@@ -1,4 +1,5 @@
{
# plasma-manager is not mature, so only use
config.home-manager.users.chn.config.programs.plasma =
{
enable = true;
@@ -25,11 +26,8 @@
};
# session
"ksmserver" =
{
"Lock Session" = [ "Meta+L" "Screensaver" ];
"Log Out" = "Ctrl+Alt+Del";
};
"ksmserver"."Lock Session" = [ "Meta+L" "Screensaver" ];
"ksmserver"."Log Out" = "Ctrl+Alt+Del";
"org_kde_powerdevil"."Turn Off Screen" = "Meta+Ctrl+L";
# mouse
@@ -102,661 +100,31 @@
"dolphinrc"."General"."ShowFullPath" = true;
"dolphinrc"."PreviewSettings"."Plugins" = "blenderthumbnail,comicbookthumbnail,djvuthumbnail,ebookthumbnail,exrthumbnail,marble_thumbnail_geojson,marble_thumbnail_gpx,jpegthumbnail,marble_thumbnail_kmz,marble_thumbnail_kml,kraorathumbnail,windowsimagethumbnail,windowsexethumbnail,mltpreview,mobithumbnail,opendocumentthumbnail,marble_thumbnail_osm,palathumbcreator,gsthumbnail,rawthumbnail,svgthumbnail,imagethumbnail,fontthumbnail,directorythumbnail,textthumbnail,webarchivethumbnail,ffmpegthumbs,audiothumbnail";
"kactivitymanagerdrc"."activities"."f305b694-8f87-46ec-a9b1-4425c55a077e" = "Default";
"kactivitymanagerdrc"."activities-icons"."242e672c-3145-4b8f-acc4-7663d17dabcc" = "activities";
"kactivitymanagerdrc"."main"."currentActivity" = "f305b694-8f87-46ec-a9b1-4425c55a077e";
"kactivitymanagerdrc"."main"."runningActivities" = "f305b694-8f87-46ec-a9b1-4425c55a077e";
"kactivitymanagerdrc"."main"."stoppedActivities" = "";
"kcminputrc"."ButtonRebinds.Mouse"."ExtraButton1" = "Key,PgDown";
"kcminputrc"."ButtonRebinds.Mouse"."ExtraButton2" = "Key,PgUp";
"kcminputrc"."Libinput.2321.21128.HTIX5288:00 0911:5288 Touchpad"."ClickMethod" = 2;
"kcminputrc"."Libinput.2321.21128.HTIX5288:00 0911:5288 Touchpad"."MiddleButtonEmulation" = true;
"kcminputrc"."Libinput.2321.21128.HTIX5288:00 0911:5288 Touchpad"."TapToClick" = true;
"kcminputrc"."Mouse"."X11LibInputXAccelProfileFlat" = false;
"kcminputrc"."Mouse"."XLbInptAccelProfileFlat" = true;
"kcminputrc"."Mouse"."XLbInptPointerAcceleration" = 0.6;
"kcminputrc"."Mouse"."cursorTheme" = "breeze_cursors";
"kcminputrc"."Tmp"."update_info" = "delete_cursor_old_default_size.upd:DeleteCursorOldDefaultSize";
"kded5rc"."Module-browserintegrationreminder"."autoload" = false;
"kded5rc"."Module-device_automounter"."autoload" = false;
"kded5rc"."PlasmaBrowserIntegration"."shownCount" = 4;
"kdeglobals"."DirSelect Dialog"."DirSelectDialog Size" = "1920,1050";
"kdeglobals"."General"."AllowKDEAppsToRememberWindowPositions" = true;
"kdeglobals"."General"."BrowserApplication" = "firefox.desktop";
"kdeglobals"."General"."LastUsedCustomAccentColor" = "61,212,37";
"kdeglobals"."General"."XftAntialias" = true;
"kdeglobals"."General"."XftHintStyle" = "hintslight";
"kdeglobals"."General"."XftSubPixel" = "rgb";
"kdeglobals"."KDE"."SingleClick" = true;
"kdeglobals"."KDE"."widgetStyle" = "kvantum";
"kdeglobals"."KFileDialog Settings"."Allow Expansion" = true;
"kdeglobals"."KFileDialog Settings"."Automatically select filename extension" = true;
"kdeglobals"."KFileDialog Settings"."Breadcrumb Navigation" = false;
"kdeglobals"."KFileDialog Settings"."Decoration position" = 2;
"kdeglobals"."KFileDialog Settings"."LocationCombo Completionmode" = 5;
"kdeglobals"."KFileDialog Settings"."PathCombo Completionmode" = 5;
"kdeglobals"."KFileDialog Settings"."Preview Width" = 688;
"kdeglobals"."KFileDialog Settings"."Show Bookmarks" = true;
"kdeglobals"."KFileDialog Settings"."Show Full Path" = true;
"kdeglobals"."KFileDialog Settings"."Show Inline Previews" = false;
"kdeglobals"."KFileDialog Settings"."Show Preview" = false;
"kdeglobals"."KFileDialog Settings"."Show Inline Previews" = true;
"kdeglobals"."KFileDialog Settings"."Show Preview" = true;
"kdeglobals"."KFileDialog Settings"."Show Speedbar" = true;
"kdeglobals"."KFileDialog Settings"."Show hidden files" = true;
"kdeglobals"."KFileDialog Settings"."Sort by" = "Name";
"kdeglobals"."KFileDialog Settings"."Sort directories first" = true;
"kdeglobals"."KFileDialog Settings"."Sort hidden files last" = false;
"kdeglobals"."KFileDialog Settings"."Sort reversed" = false;
"kdeglobals"."KFileDialog Settings"."Speedbar Width" = 89;
"kdeglobals"."KFileDialog Settings"."Sort hidden files last" = true;
"kdeglobals"."KFileDialog Settings"."View Style" = "DetailTree";
"kdeglobals"."KScreen"."ScreenScaleFactors" = "eDP-1=1;DP-1=1;";
"kdeglobals"."KShortcutsDialog Settings"."Dialog Size" = "600,480";
"kdeglobals"."PreviewSettings"."MaximumRemoteSize" = 0;
"kdeglobals"."WM"."activeBackground" = "247,247,247";
"kdeglobals"."WM"."activeBlend" = "153,153,153";
"kdeglobals"."WM"."activeForeground" = "120,120,120";
"kdeglobals"."WM"."inactiveBackground" = "242,242,242";
"kdeglobals"."WM"."inactiveBlend" = "221,221,221";
"kdeglobals"."WM"."inactiveForeground" = "170,170,170";
"kgammarc"."ConfigFile"."use" = "kgammarc";
"kglobalshortcutsrc"."ActivityManager"."_k_friendly_name" = "";
"kglobalshortcutsrc"."KDE Keyboard Layout Switcher"."_k_friendly_name" = "";
"kglobalshortcutsrc"."io.crow_translate.CrowTranslate.desktop"."_k_friendly_name" = "Crow Translate";
"kglobalshortcutsrc"."juk"."_k_friendly_name" = "JuK";
"kglobalshortcutsrc"."kaccess"."_k_friendly_name" = "";
"kglobalshortcutsrc"."kcm_touchpad"."_k_friendly_name" = "";
"kglobalshortcutsrc"."kded5"."_k_friendly_name" = "KDE Daemon";
"kglobalshortcutsrc"."khotkeys"."_k_friendly_name" = "Custom Shortcuts Service";
"kglobalshortcutsrc"."kmix"."_k_friendly_name" = "";
"kglobalshortcutsrc"."ksmserver"."_k_friendly_name" = "";
"kglobalshortcutsrc"."kwin"."_k_friendly_name" = "KWin";
"kglobalshortcutsrc"."mediacontrol"."_k_friendly_name" = "";
"kglobalshortcutsrc"."org.kde.dolphin.desktop"."_k_friendly_name" = "Dolphin";
"kglobalshortcutsrc"."org.kde.kcalc.desktop"."_k_friendly_name" = "KCalc";
"kglobalshortcutsrc"."org.kde.konsole.desktop"."_k_friendly_name" = "Konsole";
"kglobalshortcutsrc"."org.kde.krunner.desktop"."_k_friendly_name" = "KRunner";
"kglobalshortcutsrc"."org.kde.plasma.emojier.desktop"."_k_friendly_name" = "Emoji Selector";
"kglobalshortcutsrc"."org.kde.spectacle.desktop"."_k_friendly_name" = "Spectacle ";
"kglobalshortcutsrc"."org_kde_powerdevil"."_k_friendly_name" = "";
"kglobalshortcutsrc"."plasmashell"."_k_friendly_name" = "Plasma";
"kglobalshortcutsrc"."systemsettings.desktop"."_k_friendly_name" = "System Settings";
"kglobalshortcutsrc"."yakuake"."_k_friendly_name" = "Yakuake";
"khotkeysrc"."Data"."DataCount" = 3;
"khotkeysrc"."Data_1"."Comment" = "KMenuEdit Global Shortcuts";
"khotkeysrc"."Data_1"."DataCount" = 1;
"khotkeysrc"."Data_1"."Enabled" = true;
"khotkeysrc"."Data_1"."Name" = "KMenuEdit";
"khotkeysrc"."Data_1"."SystemGroup" = 1;
"khotkeysrc"."Data_1"."Type" = "ACTION_DATA_GROUP";
"khotkeysrc"."Data_1Conditions"."Comment" = "";
"khotkeysrc"."Data_1Conditions"."ConditionsCount" = 0;
"khotkeysrc"."Data_1_1"."Comment" = "Comment";
"khotkeysrc"."Data_1_1"."Enabled" = true;
"khotkeysrc"."Data_1_1"."Name" = "Search";
"khotkeysrc"."Data_1_1"."Type" = "SIMPLE_ACTION_DATA";
"khotkeysrc"."Data_1_1Actions"."ActionsCount" = 1;
"khotkeysrc"."Data_1_1Actions0"."CommandURL" = "http://google.com";
"khotkeysrc"."Data_1_1Actions0"."Type" = "COMMAND_URL";
"khotkeysrc"."Data_1_1Conditions"."Comment" = "";
"khotkeysrc"."Data_1_1Conditions"."ConditionsCount" = 0;
"khotkeysrc"."Data_1_1Triggers"."Comment" = "Simple_action";
"khotkeysrc"."Data_1_1Triggers"."TriggersCount" = 1;
"khotkeysrc"."Data_1_1Triggers0"."Key" = "";
"khotkeysrc"."Data_1_1Triggers0"."Type" = "SHORTCUT";
"khotkeysrc"."Data_1_1Triggers0"."Uuid" = "{d03619b6-9b3c-48cc-9d9c-a2aadb485550}";
"khotkeysrc"."Data_2"."Comment" = "This group contains various examples demonstrating most of the features of KHotkeys. (Note that this group and all its actions are disabled by default.)";
"khotkeysrc"."Data_2"."DataCount" = 8;
"khotkeysrc"."Data_2"."Enabled" = false;
"khotkeysrc"."Data_2"."ImportId" = "kde32b1";
"khotkeysrc"."Data_2"."Name" = "Examples";
"khotkeysrc"."Data_2"."SystemGroup" = 0;
"khotkeysrc"."Data_2"."Type" = "ACTION_DATA_GROUP";
"khotkeysrc"."Data_2Conditions"."Comment" = "";
"khotkeysrc"."Data_2Conditions"."ConditionsCount" = 0;
"khotkeysrc"."Data_2_1"."Comment" = "After pressing Ctrl+Alt+I, the KSIRC window will be activated, if it exists. Simple.";
"khotkeysrc"."Data_2_1"."Enabled" = false;
"khotkeysrc"."Data_2_1"."Name" = "Activate KSIRC Window";
"khotkeysrc"."Data_2_1"."Type" = "SIMPLE_ACTION_DATA";
"khotkeysrc"."Data_2_1Actions"."ActionsCount" = 1;
"khotkeysrc"."Data_2_1Actions0"."Type" = "ACTIVATE_WINDOW";
"khotkeysrc"."Data_2_1Actions0Window"."Comment" = "KSIRC window";
"khotkeysrc"."Data_2_1Actions0Window"."WindowsCount" = 1;
"khotkeysrc"."Data_2_1Actions0Window0"."Class" = "ksirc";
"khotkeysrc"."Data_2_1Actions0Window0"."ClassType" = 1;
"khotkeysrc"."Data_2_1Actions0Window0"."Comment" = "KSIRC";
"khotkeysrc"."Data_2_1Actions0Window0"."Role" = "";
"khotkeysrc"."Data_2_1Actions0Window0"."RoleType" = 0;
"khotkeysrc"."Data_2_1Actions0Window0"."Title" = "";
"khotkeysrc"."Data_2_1Actions0Window0"."TitleType" = 0;
"khotkeysrc"."Data_2_1Actions0Window0"."Type" = "SIMPLE";
"khotkeysrc"."Data_2_1Actions0Window0"."WindowTypes" = 33;
"khotkeysrc"."Data_2_1Conditions"."Comment" = "";
"khotkeysrc"."Data_2_1Conditions"."ConditionsCount" = 0;
"khotkeysrc"."Data_2_1Triggers"."Comment" = "Simple_action";
"khotkeysrc"."Data_2_1Triggers"."TriggersCount" = 1;
"khotkeysrc"."Data_2_1Triggers0"."Key" = "Ctrl+Alt+I";
"khotkeysrc"."Data_2_1Triggers0"."Type" = "SHORTCUT";
"khotkeysrc"."Data_2_1Triggers0"."Uuid" = "{24dd86db-8cad-4cfe-90c1-4dc99fd82b3c}";
"khotkeysrc"."Data_2_2"."Comment" = "After pressing Alt+Ctrl+H the input of 'Hello' will be simulated, as if you typed it. This is especially useful if you have call to frequently type a word (for instance, 'unsigned'). Every keypress in the input is separated by a colon ':'. Note that the keypresses literally mean keypresses, so you have to write what you would press on the keyboard. In the table below, the left column shows the input and the right column shows what to type.\n\n\"enter\" (i.e. new line) Enter or Return\na (i.e. small a) A\nA (i.e. capital a) Shift+A\n: (colon) Shift+;\n' ' (space) Space";
"khotkeysrc"."Data_2_2"."Enabled" = false;
"khotkeysrc"."Data_2_2"."Name" = "Type 'Hello'";
"khotkeysrc"."Data_2_2"."Type" = "SIMPLE_ACTION_DATA";
"khotkeysrc"."Data_2_2Actions"."ActionsCount" = 1;
"khotkeysrc"."Data_2_2Actions0"."DestinationWindow" = 2;
"khotkeysrc"."Data_2_2Actions0"."Input" = "Shift+H:E:L:L:O\n";
"khotkeysrc"."Data_2_2Actions0"."Type" = "KEYBOARD_INPUT";
"khotkeysrc"."Data_2_2Conditions"."Comment" = "";
"khotkeysrc"."Data_2_2Conditions"."ConditionsCount" = 0;
"khotkeysrc"."Data_2_2Triggers"."Comment" = "Simple_action";
"khotkeysrc"."Data_2_2Triggers"."TriggersCount" = 1;
"khotkeysrc"."Data_2_2Triggers0"."Key" = "Ctrl+Alt+H";
"khotkeysrc"."Data_2_2Triggers0"."Type" = "SHORTCUT";
"khotkeysrc"."Data_2_2Triggers0"."Uuid" = "{9a310197-d2b6-4ef8-a227-072d734024ab}";
"khotkeysrc"."Data_2_3"."Comment" = "This action runs Konsole, after pressing Ctrl+Alt+T.";
"khotkeysrc"."Data_2_3"."Enabled" = false;
"khotkeysrc"."Data_2_3"."Name" = "Run Konsole";
"khotkeysrc"."Data_2_3"."Type" = "SIMPLE_ACTION_DATA";
"khotkeysrc"."Data_2_3Actions"."ActionsCount" = 1;
"khotkeysrc"."Data_2_3Actions0"."CommandURL" = "konsole";
"khotkeysrc"."Data_2_3Actions0"."Type" = "COMMAND_URL";
"khotkeysrc"."Data_2_3Conditions"."Comment" = "";
"khotkeysrc"."Data_2_3Conditions"."ConditionsCount" = 0;
"khotkeysrc"."Data_2_3Triggers"."Comment" = "Simple_action";
"khotkeysrc"."Data_2_3Triggers"."TriggersCount" = 1;
"khotkeysrc"."Data_2_3Triggers0"."Key" = "Ctrl+Alt+T";
"khotkeysrc"."Data_2_3Triggers0"."Type" = "SHORTCUT";
"khotkeysrc"."Data_2_3Triggers0"."Uuid" = "{a07e67fe-65e3-4ea3-a533-9cbb1e14b221}";
"khotkeysrc"."Data_2_4"."Comment" = "Read the comment on the \"Type 'Hello'\" action first.\n\nQt Designer uses Ctrl+F4 for closing windows. In KDE, however, Ctrl+F4 is the shortcut for going to virtual desktop 4, so this shortcut does not work in Qt Designer. Further, Qt Designer does not use KDE's standard Ctrl+W for closing the window.\n\nThis problem can be solved by remapping Ctrl+W to Ctrl+F4 when the active window is Qt Designer. When Qt Designer is active, every time Ctrl+W is pressed, Ctrl+F4 will be sent to Qt Designer instead. In other applications, the effect of Ctrl+W is unchanged.\n\nWe now need to specify three things: A new shortcut trigger on 'Ctrl+W', a new keyboard input action sending Ctrl+F4, and a new condition that the active window is Qt Designer.\nQt Designer seems to always have title 'Qt Designer by Trolltech', so the condition will check for the active window having that title.";
"khotkeysrc"."Data_2_4"."Enabled" = false;
"khotkeysrc"."Data_2_4"."Name" = "Remap Ctrl+W to Ctrl+F4 in Qt Designer";
"khotkeysrc"."Data_2_4"."Type" = "GENERIC_ACTION_DATA";
"khotkeysrc"."Data_2_4Actions"."ActionsCount" = 1;
"khotkeysrc"."Data_2_4Actions0"."DestinationWindow" = 2;
"khotkeysrc"."Data_2_4Actions0"."Input" = "Ctrl+F4";
"khotkeysrc"."Data_2_4Actions0"."Type" = "KEYBOARD_INPUT";
"khotkeysrc"."Data_2_4Conditions"."Comment" = "";
"khotkeysrc"."Data_2_4Conditions"."ConditionsCount" = 1;
"khotkeysrc"."Data_2_4Conditions0"."Type" = "ACTIVE_WINDOW";
"khotkeysrc"."Data_2_4Conditions0Window"."Comment" = "Qt Designer";
"khotkeysrc"."Data_2_4Conditions0Window"."WindowsCount" = 1;
"khotkeysrc"."Data_2_4Conditions0Window0"."Class" = "";
"khotkeysrc"."Data_2_4Conditions0Window0"."ClassType" = 0;
"khotkeysrc"."Data_2_4Conditions0Window0"."Comment" = "";
"khotkeysrc"."Data_2_4Conditions0Window0"."Role" = "";
"khotkeysrc"."Data_2_4Conditions0Window0"."RoleType" = 0;
"khotkeysrc"."Data_2_4Conditions0Window0"."Title" = "Qt Designer by Trolltech";
"khotkeysrc"."Data_2_4Conditions0Window0"."TitleType" = 2;
"khotkeysrc"."Data_2_4Conditions0Window0"."Type" = "SIMPLE";
"khotkeysrc"."Data_2_4Conditions0Window0"."WindowTypes" = 33;
"khotkeysrc"."Data_2_4Triggers"."Comment" = "";
"khotkeysrc"."Data_2_4Triggers"."TriggersCount" = 1;
"khotkeysrc"."Data_2_4Triggers0"."Key" = "Ctrl+W";
"khotkeysrc"."Data_2_4Triggers0"."Type" = "SHORTCUT";
"khotkeysrc"."Data_2_4Triggers0"."Uuid" = "{bb31801d-1f7e-497a-acdd-d6ac4dc651b9}";
"khotkeysrc"."Data_2_5"."Comment" = "By pressing Alt+Ctrl+W a D-Bus call will be performed that will show the minicli. You can use any kind of D-Bus call, just like using the command line 'qdbus' tool.";
"khotkeysrc"."Data_2_5"."Enabled" = false;
"khotkeysrc"."Data_2_5"."Name" = "Perform D-Bus call 'qdbus org.kde.krunner /App display'";
"khotkeysrc"."Data_2_5"."Type" = "SIMPLE_ACTION_DATA";
"khotkeysrc"."Data_2_5Actions"."ActionsCount" = 1;
"khotkeysrc"."Data_2_5Actions0"."Arguments" = "";
"khotkeysrc"."Data_2_5Actions0"."Call" = "popupExecuteCommand";
"khotkeysrc"."Data_2_5Actions0"."RemoteApp" = "org.kde.krunner";
"khotkeysrc"."Data_2_5Actions0"."RemoteObj" = "/App";
"khotkeysrc"."Data_2_5Actions0"."Type" = "DBUS";
"khotkeysrc"."Data_2_5Conditions"."Comment" = "";
"khotkeysrc"."Data_2_5Conditions"."ConditionsCount" = 0;
"khotkeysrc"."Data_2_5Triggers"."Comment" = "Simple_action";
"khotkeysrc"."Data_2_5Triggers"."TriggersCount" = 1;
"khotkeysrc"."Data_2_5Triggers0"."Key" = "Ctrl+Alt+W";
"khotkeysrc"."Data_2_5Triggers0"."Type" = "SHORTCUT";
"khotkeysrc"."Data_2_5Triggers0"."Uuid" = "{811d3453-4611-4e42-864b-e7325b45969b}";
"khotkeysrc"."Data_2_6"."Comment" = "Read the comment on the \"Type 'Hello'\" action first.\n\nJust like the \"Type 'Hello'\" action, this one simulates keyboard input, specifically, after pressing Ctrl+Alt+B, it sends B to XMMS (B in XMMS jumps to the next song). The 'Send to specific window' checkbox is checked and a window with its class containing 'XMMS_Player' is specified; this will make the input always be sent to this window. This way, you can control XMMS even if, for instance, it is on a different virtual desktop.\n\n(Run 'xprop' and click on the XMMS window and search for WM_CLASS to see 'XMMS_Player').";
"khotkeysrc"."Data_2_6"."Enabled" = false;
"khotkeysrc"."Data_2_6"."Name" = "Next in XMMS";
"khotkeysrc"."Data_2_6"."Type" = "SIMPLE_ACTION_DATA";
"khotkeysrc"."Data_2_6Actions"."ActionsCount" = 1;
"khotkeysrc"."Data_2_6Actions0"."DestinationWindow" = 1;
"khotkeysrc"."Data_2_6Actions0"."Input" = "B";
"khotkeysrc"."Data_2_6Actions0"."Type" = "KEYBOARD_INPUT";
"khotkeysrc"."Data_2_6Actions0DestinationWindow"."Comment" = "XMMS window";
"khotkeysrc"."Data_2_6Actions0DestinationWindow"."WindowsCount" = 1;
"khotkeysrc"."Data_2_6Actions0DestinationWindow0"."Class" = "XMMS_Player";
"khotkeysrc"."Data_2_6Actions0DestinationWindow0"."ClassType" = 1;
"khotkeysrc"."Data_2_6Actions0DestinationWindow0"."Comment" = "XMMS Player window";
"khotkeysrc"."Data_2_6Actions0DestinationWindow0"."Role" = "";
"khotkeysrc"."Data_2_6Actions0DestinationWindow0"."RoleType" = 0;
"khotkeysrc"."Data_2_6Actions0DestinationWindow0"."Title" = "";
"khotkeysrc"."Data_2_6Actions0DestinationWindow0"."TitleType" = 0;
"khotkeysrc"."Data_2_6Actions0DestinationWindow0"."Type" = "SIMPLE";
"khotkeysrc"."Data_2_6Actions0DestinationWindow0"."WindowTypes" = 33;
"khotkeysrc"."Data_2_6Conditions"."Comment" = "";
"khotkeysrc"."Data_2_6Conditions"."ConditionsCount" = 0;
"khotkeysrc"."Data_2_6Triggers"."Comment" = "Simple_action";
"khotkeysrc"."Data_2_6Triggers"."TriggersCount" = 1;
"khotkeysrc"."Data_2_6Triggers0"."Key" = "Ctrl+Alt+B";
"khotkeysrc"."Data_2_6Triggers0"."Type" = "SHORTCUT";
"khotkeysrc"."Data_2_6Triggers0"."Uuid" = "{14de0367-f2e2-4535-a8b0-3a4aa9acc58b}";
"khotkeysrc"."Data_2_7"."Comment" = "Konqueror in KDE3.1 has tabs, and now you can also have gestures.\n\nJust press the middle mouse button and start drawing one of the gestures, and after you are finished, release the mouse button. If you only need to paste the selection, it still works, just click the middle mouse button. (You can change the mouse button to use in the global settings).\n\nRight now, there are the following gestures available:\nmove right and back left - Forward (Alt+Right)\nmove left and back right - Back (Alt+Left)\nmove up and back down - Up (Alt+Up)\ncircle counterclockwise - Reload (F5)\n\nThe gesture shapes can be entered by performing them in the configuration dialog. You can also look at your numeric pad to help you: gestures are recognized like a 3x3 grid of fields, numbered 1 to 9.\n\nNote that you must perform exactly the gesture to trigger the action. Because of this, it is possible to enter more gestures for the action. You should try to avoid complicated gestures where you change the direction of mouse movement more than once. For instance, 45654 or 74123 are simple to perform, but 1236987 may be already quite difficult.\n\nThe conditions for all gestures are defined in this group. All these gestures are active only if the active window is Konqueror (class contains 'konqueror').";
"khotkeysrc"."Data_2_7"."DataCount" = 4;
"khotkeysrc"."Data_2_7"."Enabled" = false;
"khotkeysrc"."Data_2_7"."Name" = "Konqi Gestures";
"khotkeysrc"."Data_2_7"."SystemGroup" = 0;
"khotkeysrc"."Data_2_7"."Type" = "ACTION_DATA_GROUP";
"khotkeysrc"."Data_2_7Conditions"."Comment" = "Konqueror window";
"khotkeysrc"."Data_2_7Conditions"."ConditionsCount" = 1;
"khotkeysrc"."Data_2_7Conditions0"."Type" = "ACTIVE_WINDOW";
"khotkeysrc"."Data_2_7Conditions0Window"."Comment" = "Konqueror";
"khotkeysrc"."Data_2_7Conditions0Window"."WindowsCount" = 1;
"khotkeysrc"."Data_2_7Conditions0Window0"."Class" = "konqueror";
"khotkeysrc"."Data_2_7Conditions0Window0"."ClassType" = 1;
"khotkeysrc"."Data_2_7Conditions0Window0"."Comment" = "Konqueror";
"khotkeysrc"."Data_2_7Conditions0Window0"."Role" = "";
"khotkeysrc"."Data_2_7Conditions0Window0"."RoleType" = 0;
"khotkeysrc"."Data_2_7Conditions0Window0"."Title" = "";
"khotkeysrc"."Data_2_7Conditions0Window0"."TitleType" = 0;
"khotkeysrc"."Data_2_7Conditions0Window0"."Type" = "SIMPLE";
"khotkeysrc"."Data_2_7Conditions0Window0"."WindowTypes" = 33;
"khotkeysrc"."Data_2_7_1"."Comment" = "";
"khotkeysrc"."Data_2_7_1"."Enabled" = false;
"khotkeysrc"."Data_2_7_1"."Name" = "Back";
"khotkeysrc"."Data_2_7_1"."Type" = "SIMPLE_ACTION_DATA";
"khotkeysrc"."Data_2_7_1Actions"."ActionsCount" = 1;
"khotkeysrc"."Data_2_7_1Actions0"."DestinationWindow" = 2;
"khotkeysrc"."Data_2_7_1Actions0"."Input" = "Alt+Left";
"khotkeysrc"."Data_2_7_1Actions0"."Type" = "KEYBOARD_INPUT";
"khotkeysrc"."Data_2_7_1Conditions"."Comment" = "";
"khotkeysrc"."Data_2_7_1Conditions"."ConditionsCount" = 0;
"khotkeysrc"."Data_2_7_1Triggers"."Comment" = "Gesture_triggers";
"khotkeysrc"."Data_2_7_1Triggers"."TriggersCount" = 3;
"khotkeysrc"."Data_2_7_1Triggers0"."GesturePointData" = "0,0.0625,1,1,0.5,0.0625,0.0625,1,0.875,0.5,0.125,0.0625,1,0.75,0.5,0.1875,0.0625,1,0.625,0.5,0.25,0.0625,1,0.5,0.5,0.3125,0.0625,1,0.375,0.5,0.375,0.0625,1,0.25,0.5,0.4375,0.0625,1,0.125,0.5,0.5,0.0625,0,0,0.5,0.5625,0.0625,0,0.125,0.5,0.625,0.0625,0,0.25,0.5,0.6875,0.0625,0,0.375,0.5,0.75,0.0625,0,0.5,0.5,0.8125,0.0625,0,0.625,0.5,0.875,0.0625,0,0.75,0.5,0.9375,0.0625,0,0.875,0.5,1,0,0,1,0.5";
"khotkeysrc"."Data_2_7_1Triggers0"."Type" = "GESTURE";
"khotkeysrc"."Data_2_7_1Triggers1"."GesturePointData" = "0,0.0833333,1,0.5,0.5,0.0833333,0.0833333,1,0.375,0.5,0.166667,0.0833333,1,0.25,0.5,0.25,0.0833333,1,0.125,0.5,0.333333,0.0833333,0,0,0.5,0.416667,0.0833333,0,0.125,0.5,0.5,0.0833333,0,0.25,0.5,0.583333,0.0833333,0,0.375,0.5,0.666667,0.0833333,0,0.5,0.5,0.75,0.0833333,0,0.625,0.5,0.833333,0.0833333,0,0.75,0.5,0.916667,0.0833333,0,0.875,0.5,1,0,0,1,0.5";
"khotkeysrc"."Data_2_7_1Triggers1"."Type" = "GESTURE";
"khotkeysrc"."Data_2_7_1Triggers2"."GesturePointData" = "0,0.0833333,1,1,0.5,0.0833333,0.0833333,1,0.875,0.5,0.166667,0.0833333,1,0.75,0.5,0.25,0.0833333,1,0.625,0.5,0.333333,0.0833333,1,0.5,0.5,0.416667,0.0833333,1,0.375,0.5,0.5,0.0833333,1,0.25,0.5,0.583333,0.0833333,1,0.125,0.5,0.666667,0.0833333,0,0,0.5,0.75,0.0833333,0,0.125,0.5,0.833333,0.0833333,0,0.25,0.5,0.916667,0.0833333,0,0.375,0.5,1,0,0,0.5,0.5";
"khotkeysrc"."Data_2_7_1Triggers2"."Type" = "GESTURE";
"khotkeysrc"."Data_2_7_2"."Comment" = "";
"khotkeysrc"."Data_2_7_2"."Enabled" = false;
"khotkeysrc"."Data_2_7_2"."Name" = "Forward";
"khotkeysrc"."Data_2_7_2"."Type" = "SIMPLE_ACTION_DATA";
"khotkeysrc"."Data_2_7_2Actions"."ActionsCount" = 1;
"khotkeysrc"."Data_2_7_2Actions0"."DestinationWindow" = 2;
"khotkeysrc"."Data_2_7_2Actions0"."Input" = "Alt+Right";
"khotkeysrc"."Data_2_7_2Actions0"."Type" = "KEYBOARD_INPUT";
"khotkeysrc"."Data_2_7_2Conditions"."Comment" = "";
"khotkeysrc"."Data_2_7_2Conditions"."ConditionsCount" = 0;
"khotkeysrc"."Data_2_7_2Triggers"."Comment" = "Gesture_triggers";
"khotkeysrc"."Data_2_7_2Triggers"."TriggersCount" = 3;
"khotkeysrc"."Data_2_7_2Triggers0"."GesturePointData" = "0,0.0625,0,0,0.5,0.0625,0.0625,0,0.125,0.5,0.125,0.0625,0,0.25,0.5,0.1875,0.0625,0,0.375,0.5,0.25,0.0625,0,0.5,0.5,0.3125,0.0625,0,0.625,0.5,0.375,0.0625,0,0.75,0.5,0.4375,0.0625,0,0.875,0.5,0.5,0.0625,1,1,0.5,0.5625,0.0625,1,0.875,0.5,0.625,0.0625,1,0.75,0.5,0.6875,0.0625,1,0.625,0.5,0.75,0.0625,1,0.5,0.5,0.8125,0.0625,1,0.375,0.5,0.875,0.0625,1,0.25,0.5,0.9375,0.0625,1,0.125,0.5,1,0,0,0,0.5";
"khotkeysrc"."Data_2_7_2Triggers0"."Type" = "GESTURE";
"khotkeysrc"."Data_2_7_2Triggers1"."GesturePointData" = "0,0.0833333,0,0.5,0.5,0.0833333,0.0833333,0,0.625,0.5,0.166667,0.0833333,0,0.75,0.5,0.25,0.0833333,0,0.875,0.5,0.333333,0.0833333,1,1,0.5,0.416667,0.0833333,1,0.875,0.5,0.5,0.0833333,1,0.75,0.5,0.583333,0.0833333,1,0.625,0.5,0.666667,0.0833333,1,0.5,0.5,0.75,0.0833333,1,0.375,0.5,0.833333,0.0833333,1,0.25,0.5,0.916667,0.0833333,1,0.125,0.5,1,0,0,0,0.5";
"khotkeysrc"."Data_2_7_2Triggers1"."Type" = "GESTURE";
"khotkeysrc"."Data_2_7_2Triggers2"."GesturePointData" = "0,0.0833333,0,0,0.5,0.0833333,0.0833333,0,0.125,0.5,0.166667,0.0833333,0,0.25,0.5,0.25,0.0833333,0,0.375,0.5,0.333333,0.0833333,0,0.5,0.5,0.416667,0.0833333,0,0.625,0.5,0.5,0.0833333,0,0.75,0.5,0.583333,0.0833333,0,0.875,0.5,0.666667,0.0833333,1,1,0.5,0.75,0.0833333,1,0.875,0.5,0.833333,0.0833333,1,0.75,0.5,0.916667,0.0833333,1,0.625,0.5,1,0,0,0.5,0.5";
"khotkeysrc"."Data_2_7_2Triggers2"."Type" = "GESTURE";
"khotkeysrc"."Data_2_7_3"."Comment" = "";
"khotkeysrc"."Data_2_7_3"."Enabled" = false;
"khotkeysrc"."Data_2_7_3"."Name" = "Up";
"khotkeysrc"."Data_2_7_3"."Type" = "SIMPLE_ACTION_DATA";
"khotkeysrc"."Data_2_7_3Actions"."ActionsCount" = 1;
"khotkeysrc"."Data_2_7_3Actions0"."DestinationWindow" = 2;
"khotkeysrc"."Data_2_7_3Actions0"."Input" = "Alt+Up";
"khotkeysrc"."Data_2_7_3Actions0"."Type" = "KEYBOARD_INPUT";
"khotkeysrc"."Data_2_7_3Conditions"."Comment" = "";
"khotkeysrc"."Data_2_7_3Conditions"."ConditionsCount" = 0;
"khotkeysrc"."Data_2_7_3Triggers"."Comment" = "Gesture_triggers";
"khotkeysrc"."Data_2_7_3Triggers"."TriggersCount" = 3;
"khotkeysrc"."Data_2_7_3Triggers0"."GesturePointData" = "0,0.0625,-0.5,0.5,1,0.0625,0.0625,-0.5,0.5,0.875,0.125,0.0625,-0.5,0.5,0.75,0.1875,0.0625,-0.5,0.5,0.625,0.25,0.0625,-0.5,0.5,0.5,0.3125,0.0625,-0.5,0.5,0.375,0.375,0.0625,-0.5,0.5,0.25,0.4375,0.0625,-0.5,0.5,0.125,0.5,0.0625,0.5,0.5,0,0.5625,0.0625,0.5,0.5,0.125,0.625,0.0625,0.5,0.5,0.25,0.6875,0.0625,0.5,0.5,0.375,0.75,0.0625,0.5,0.5,0.5,0.8125,0.0625,0.5,0.5,0.625,0.875,0.0625,0.5,0.5,0.75,0.9375,0.0625,0.5,0.5,0.875,1,0,0,0.5,1";
"khotkeysrc"."Data_2_7_3Triggers0"."Type" = "GESTURE";
"khotkeysrc"."Data_2_7_3Triggers1"."GesturePointData" = "0,0.0833333,-0.5,0.5,1,0.0833333,0.0833333,-0.5,0.5,0.875,0.166667,0.0833333,-0.5,0.5,0.75,0.25,0.0833333,-0.5,0.5,0.625,0.333333,0.0833333,-0.5,0.5,0.5,0.416667,0.0833333,-0.5,0.5,0.375,0.5,0.0833333,-0.5,0.5,0.25,0.583333,0.0833333,-0.5,0.5,0.125,0.666667,0.0833333,0.5,0.5,0,0.75,0.0833333,0.5,0.5,0.125,0.833333,0.0833333,0.5,0.5,0.25,0.916667,0.0833333,0.5,0.5,0.375,1,0,0,0.5,0.5";
"khotkeysrc"."Data_2_7_3Triggers1"."Type" = "GESTURE";
"khotkeysrc"."Data_2_7_3Triggers2"."GesturePointData" = "0,0.0833333,-0.5,0.5,0.5,0.0833333,0.0833333,-0.5,0.5,0.375,0.166667,0.0833333,-0.5,0.5,0.25,0.25,0.0833333,-0.5,0.5,0.125,0.333333,0.0833333,0.5,0.5,0,0.416667,0.0833333,0.5,0.5,0.125,0.5,0.0833333,0.5,0.5,0.25,0.583333,0.0833333,0.5,0.5,0.375,0.666667,0.0833333,0.5,0.5,0.5,0.75,0.0833333,0.5,0.5,0.625,0.833333,0.0833333,0.5,0.5,0.75,0.916667,0.0833333,0.5,0.5,0.875,1,0,0,0.5,1";
"khotkeysrc"."Data_2_7_3Triggers2"."Type" = "GESTURE";
"khotkeysrc"."Data_2_7_4"."Comment" = "";
"khotkeysrc"."Data_2_7_4"."Enabled" = false;
"khotkeysrc"."Data_2_7_4"."Name" = "Reload";
"khotkeysrc"."Data_2_7_4"."Type" = "SIMPLE_ACTION_DATA";
"khotkeysrc"."Data_2_7_4Actions"."ActionsCount" = 1;
"khotkeysrc"."Data_2_7_4Actions0"."DestinationWindow" = 2;
"khotkeysrc"."Data_2_7_4Actions0"."Input" = "F5";
"khotkeysrc"."Data_2_7_4Actions0"."Type" = "KEYBOARD_INPUT";
"khotkeysrc"."Data_2_7_4Conditions"."Comment" = "";
"khotkeysrc"."Data_2_7_4Conditions"."ConditionsCount" = 0;
"khotkeysrc"."Data_2_7_4Triggers"."Comment" = "Gesture_triggers";
"khotkeysrc"."Data_2_7_4Triggers"."TriggersCount" = 3;
"khotkeysrc"."Data_2_7_4Triggers0"."GesturePointData" = "0,0.03125,0,0,1,0.03125,0.03125,0,0.125,1,0.0625,0.03125,0,0.25,1,0.09375,0.03125,0,0.375,1,0.125,0.03125,0,0.5,1,0.15625,0.03125,0,0.625,1,0.1875,0.03125,0,0.75,1,0.21875,0.03125,0,0.875,1,0.25,0.03125,-0.5,1,1,0.28125,0.03125,-0.5,1,0.875,0.3125,0.03125,-0.5,1,0.75,0.34375,0.03125,-0.5,1,0.625,0.375,0.03125,-0.5,1,0.5,0.40625,0.03125,-0.5,1,0.375,0.4375,0.03125,-0.5,1,0.25,0.46875,0.03125,-0.5,1,0.125,0.5,0.03125,1,1,0,0.53125,0.03125,1,0.875,0,0.5625,0.03125,1,0.75,0,0.59375,0.03125,1,0.625,0,0.625,0.03125,1,0.5,0,0.65625,0.03125,1,0.375,0,0.6875,0.03125,1,0.25,0,0.71875,0.03125,1,0.125,0,0.75,0.03125,0.5,0,0,0.78125,0.03125,0.5,0,0.125,0.8125,0.03125,0.5,0,0.25,0.84375,0.03125,0.5,0,0.375,0.875,0.03125,0.5,0,0.5,0.90625,0.03125,0.5,0,0.625,0.9375,0.03125,0.5,0,0.75,0.96875,0.03125,0.5,0,0.875,1,0,0,0,1";
"khotkeysrc"."Data_2_7_4Triggers0"."Type" = "GESTURE";
"khotkeysrc"."Data_2_7_4Triggers1"."GesturePointData" = "0,0.0277778,0,0,1,0.0277778,0.0277778,0,0.125,1,0.0555556,0.0277778,0,0.25,1,0.0833333,0.0277778,0,0.375,1,0.111111,0.0277778,0,0.5,1,0.138889,0.0277778,0,0.625,1,0.166667,0.0277778,0,0.75,1,0.194444,0.0277778,0,0.875,1,0.222222,0.0277778,-0.5,1,1,0.25,0.0277778,-0.5,1,0.875,0.277778,0.0277778,-0.5,1,0.75,0.305556,0.0277778,-0.5,1,0.625,0.333333,0.0277778,-0.5,1,0.5,0.361111,0.0277778,-0.5,1,0.375,0.388889,0.0277778,-0.5,1,0.25,0.416667,0.0277778,-0.5,1,0.125,0.444444,0.0277778,1,1,0,0.472222,0.0277778,1,0.875,0,0.5,0.0277778,1,0.75,0,0.527778,0.0277778,1,0.625,0,0.555556,0.0277778,1,0.5,0,0.583333,0.0277778,1,0.375,0,0.611111,0.0277778,1,0.25,0,0.638889,0.0277778,1,0.125,0,0.666667,0.0277778,0.5,0,0,0.694444,0.0277778,0.5,0,0.125,0.722222,0.0277778,0.5,0,0.25,0.75,0.0277778,0.5,0,0.375,0.777778,0.0277778,0.5,0,0.5,0.805556,0.0277778,0.5,0,0.625,0.833333,0.0277778,0.5,0,0.75,0.861111,0.0277778,0.5,0,0.875,0.888889,0.0277778,0,0,1,0.916667,0.0277778,0,0.125,1,0.944444,0.0277778,0,0.25,1,0.972222,0.0277778,0,0.375,1,1,0,0,0.5,1";
"khotkeysrc"."Data_2_7_4Triggers1"."Type" = "GESTURE";
"khotkeysrc"."Data_2_7_4Triggers2"."GesturePointData" = "0,0.0277778,0.5,0,0.5,0.0277778,0.0277778,0.5,0,0.625,0.0555556,0.0277778,0.5,0,0.75,0.0833333,0.0277778,0.5,0,0.875,0.111111,0.0277778,0,0,1,0.138889,0.0277778,0,0.125,1,0.166667,0.0277778,0,0.25,1,0.194444,0.0277778,0,0.375,1,0.222222,0.0277778,0,0.5,1,0.25,0.0277778,0,0.625,1,0.277778,0.0277778,0,0.75,1,0.305556,0.0277778,0,0.875,1,0.333333,0.0277778,-0.5,1,1,0.361111,0.0277778,-0.5,1,0.875,0.388889,0.0277778,-0.5,1,0.75,0.416667,0.0277778,-0.5,1,0.625,0.444444,0.0277778,-0.5,1,0.5,0.472222,0.0277778,-0.5,1,0.375,0.5,0.0277778,-0.5,1,0.25,0.527778,0.0277778,-0.5,1,0.125,0.555556,0.0277778,1,1,0,0.583333,0.0277778,1,0.875,0,0.611111,0.0277778,1,0.75,0,0.638889,0.0277778,1,0.625,0,0.666667,0.0277778,1,0.5,0,0.694444,0.0277778,1,0.375,0,0.722222,0.0277778,1,0.25,0,0.75,0.0277778,1,0.125,0,0.777778,0.0277778,0.5,0,0,0.805556,0.0277778,0.5,0,0.125,0.833333,0.0277778,0.5,0,0.25,0.861111,0.0277778,0.5,0,0.375,0.888889,0.0277778,0.5,0,0.5,0.916667,0.0277778,0.5,0,0.625,0.944444,0.0277778,0.5,0,0.75,0.972222,0.0277778,0.5,0,0.875,1,0,0,0,1";
"khotkeysrc"."Data_2_7_4Triggers2"."Type" = "GESTURE";
"khotkeysrc"."Data_2_8"."Comment" = "After pressing Win+E (Tux+E) a WWW browser will be launched, and it will open http://www.kde.org . You may run all kind of commands you can run in minicli (Alt+F2).";
"khotkeysrc"."Data_2_8"."Enabled" = false;
"khotkeysrc"."Data_2_8"."Name" = "Go to KDE Website";
"khotkeysrc"."Data_2_8"."Type" = "SIMPLE_ACTION_DATA";
"khotkeysrc"."Data_2_8Actions"."ActionsCount" = 1;
"khotkeysrc"."Data_2_8Actions0"."CommandURL" = "http://www.kde.org";
"khotkeysrc"."Data_2_8Actions0"."Type" = "COMMAND_URL";
"khotkeysrc"."Data_2_8Conditions"."Comment" = "";
"khotkeysrc"."Data_2_8Conditions"."ConditionsCount" = 0;
"khotkeysrc"."Data_2_8Triggers"."Comment" = "Simple_action";
"khotkeysrc"."Data_2_8Triggers"."TriggersCount" = 1;
"khotkeysrc"."Data_2_8Triggers0"."Key" = "Meta+E";
"khotkeysrc"."Data_2_8Triggers0"."Type" = "SHORTCUT";
"khotkeysrc"."Data_2_8Triggers0"."Uuid" = "{01088b4f-cb8e-4f32-9b6e-fc5c20408aa1}";
"khotkeysrc"."Data_3"."Comment" = "Basic Konqueror gestures.";
"khotkeysrc"."Data_3"."DataCount" = 14;
"khotkeysrc"."Data_3"."Enabled" = true;
"khotkeysrc"."Data_3"."ImportId" = "konqueror_gestures_kde321";
"khotkeysrc"."Data_3"."Name" = "Konqueror Gestures";
"khotkeysrc"."Data_3"."SystemGroup" = 0;
"khotkeysrc"."Data_3"."Type" = "ACTION_DATA_GROUP";
"khotkeysrc"."Data_3Conditions"."Comment" = "Konqueror window";
"khotkeysrc"."Data_3Conditions"."ConditionsCount" = 1;
"khotkeysrc"."Data_3Conditions0"."Type" = "ACTIVE_WINDOW";
"khotkeysrc"."Data_3Conditions0Window"."Comment" = "Konqueror";
"khotkeysrc"."Data_3Conditions0Window"."WindowsCount" = 1;
"khotkeysrc"."Data_3Conditions0Window0"."Class" = "^konqueror\s";
"khotkeysrc"."Data_3Conditions0Window0"."ClassType" = 3;
"khotkeysrc"."Data_3Conditions0Window0"."Comment" = "Konqueror";
"khotkeysrc"."Data_3Conditions0Window0"."Role" = "konqueror-mainwindow#1";
"khotkeysrc"."Data_3Conditions0Window0"."RoleType" = 0;
"khotkeysrc"."Data_3Conditions0Window0"."Title" = "file:/ - Konqueror";
"khotkeysrc"."Data_3Conditions0Window0"."TitleType" = 0;
"khotkeysrc"."Data_3Conditions0Window0"."Type" = "SIMPLE";
"khotkeysrc"."Data_3Conditions0Window0"."WindowTypes" = 1;
"khotkeysrc"."Data_3_1"."Comment" = "Press, move left, release.";
"khotkeysrc"."Data_3_1"."Enabled" = true;
"khotkeysrc"."Data_3_1"."Name" = "Back";
"khotkeysrc"."Data_3_1"."Type" = "SIMPLE_ACTION_DATA";
"khotkeysrc"."Data_3_10"."Comment" = "Opera-style: Press, move up, release.\nNOTE: Conflicts with 'New Tab', and as such is disabled by default.";
"khotkeysrc"."Data_3_10"."Enabled" = false;
"khotkeysrc"."Data_3_10"."Name" = "Stop Loading";
"khotkeysrc"."Data_3_10"."Type" = "SIMPLE_ACTION_DATA";
"khotkeysrc"."Data_3_10Actions"."ActionsCount" = 1;
"khotkeysrc"."Data_3_10Actions0"."DestinationWindow" = 2;
"khotkeysrc"."Data_3_10Actions0"."Input" = "Escape\n";
"khotkeysrc"."Data_3_10Actions0"."Type" = "KEYBOARD_INPUT";
"khotkeysrc"."Data_3_10Conditions"."Comment" = "";
"khotkeysrc"."Data_3_10Conditions"."ConditionsCount" = 0;
"khotkeysrc"."Data_3_10Triggers"."Comment" = "Gesture_triggers";
"khotkeysrc"."Data_3_10Triggers"."TriggersCount" = 1;
"khotkeysrc"."Data_3_10Triggers0"."GesturePointData" = "0,0.125,-0.5,0.5,1,0.125,0.125,-0.5,0.5,0.875,0.25,0.125,-0.5,0.5,0.75,0.375,0.125,-0.5,0.5,0.625,0.5,0.125,-0.5,0.5,0.5,0.625,0.125,-0.5,0.5,0.375,0.75,0.125,-0.5,0.5,0.25,0.875,0.125,-0.5,0.5,0.125,1,0,0,0.5,0";
"khotkeysrc"."Data_3_10Triggers0"."Type" = "GESTURE";
"khotkeysrc"."Data_3_11"."Comment" = "Going up in URL/directory structure.\nMozilla-style: Press, move up, move left, move up, release.";
"khotkeysrc"."Data_3_11"."Enabled" = true;
"khotkeysrc"."Data_3_11"."Name" = "Up";
"khotkeysrc"."Data_3_11"."Type" = "SIMPLE_ACTION_DATA";
"khotkeysrc"."Data_3_11Actions"."ActionsCount" = 1;
"khotkeysrc"."Data_3_11Actions0"."DestinationWindow" = 2;
"khotkeysrc"."Data_3_11Actions0"."Input" = "Alt+Up";
"khotkeysrc"."Data_3_11Actions0"."Type" = "KEYBOARD_INPUT";
"khotkeysrc"."Data_3_11Conditions"."Comment" = "";
"khotkeysrc"."Data_3_11Conditions"."ConditionsCount" = 0;
"khotkeysrc"."Data_3_11Triggers"."Comment" = "Gesture_triggers";
"khotkeysrc"."Data_3_11Triggers"."TriggersCount" = 1;
"khotkeysrc"."Data_3_11Triggers0"."GesturePointData" = "0,0.0625,-0.5,1,1,0.0625,0.0625,-0.5,1,0.875,0.125,0.0625,-0.5,1,0.75,0.1875,0.0625,-0.5,1,0.625,0.25,0.0625,1,1,0.5,0.3125,0.0625,1,0.875,0.5,0.375,0.0625,1,0.75,0.5,0.4375,0.0625,1,0.625,0.5,0.5,0.0625,1,0.5,0.5,0.5625,0.0625,1,0.375,0.5,0.625,0.0625,1,0.25,0.5,0.6875,0.0625,1,0.125,0.5,0.75,0.0625,-0.5,0,0.5,0.8125,0.0625,-0.5,0,0.375,0.875,0.0625,-0.5,0,0.25,0.9375,0.0625,-0.5,0,0.125,1,0,0,0,0";
"khotkeysrc"."Data_3_11Triggers0"."Type" = "GESTURE";
"khotkeysrc"."Data_3_12"."Comment" = "Going up in URL/directory structure.\nOpera-style: Press, move up, move left, move up, release.\nNOTE: Conflicts with \"Activate Previous Tab\", and as such is disabled by default.";
"khotkeysrc"."Data_3_12"."Enabled" = false;
"khotkeysrc"."Data_3_12"."Name" = "Up #2";
"khotkeysrc"."Data_3_12"."Type" = "SIMPLE_ACTION_DATA";
"khotkeysrc"."Data_3_12Actions"."ActionsCount" = 1;
"khotkeysrc"."Data_3_12Actions0"."DestinationWindow" = 2;
"khotkeysrc"."Data_3_12Actions0"."Input" = "Alt+Up\n";
"khotkeysrc"."Data_3_12Actions0"."Type" = "KEYBOARD_INPUT";
"khotkeysrc"."Data_3_12Conditions"."Comment" = "";
"khotkeysrc"."Data_3_12Conditions"."ConditionsCount" = 0;
"khotkeysrc"."Data_3_12Triggers"."Comment" = "Gesture_triggers";
"khotkeysrc"."Data_3_12Triggers"."TriggersCount" = 1;
"khotkeysrc"."Data_3_12Triggers0"."GesturePointData" = "0,0.0625,-0.5,1,1,0.0625,0.0625,-0.5,1,0.875,0.125,0.0625,-0.5,1,0.75,0.1875,0.0625,-0.5,1,0.625,0.25,0.0625,-0.5,1,0.5,0.3125,0.0625,-0.5,1,0.375,0.375,0.0625,-0.5,1,0.25,0.4375,0.0625,-0.5,1,0.125,0.5,0.0625,1,1,0,0.5625,0.0625,1,0.875,0,0.625,0.0625,1,0.75,0,0.6875,0.0625,1,0.625,0,0.75,0.0625,1,0.5,0,0.8125,0.0625,1,0.375,0,0.875,0.0625,1,0.25,0,0.9375,0.0625,1,0.125,0,1,0,0,0,0";
"khotkeysrc"."Data_3_12Triggers0"."Type" = "GESTURE";
"khotkeysrc"."Data_3_13"."Comment" = "Press, move up, move right, release.";
"khotkeysrc"."Data_3_13"."Enabled" = true;
"khotkeysrc"."Data_3_13"."Name" = "Activate Next Tab";
"khotkeysrc"."Data_3_13"."Type" = "SIMPLE_ACTION_DATA";
"khotkeysrc"."Data_3_13Actions"."ActionsCount" = 1;
"khotkeysrc"."Data_3_13Actions0"."DestinationWindow" = 2;
"khotkeysrc"."Data_3_13Actions0"."Input" = "Ctrl+.\n";
"khotkeysrc"."Data_3_13Actions0"."Type" = "KEYBOARD_INPUT";
"khotkeysrc"."Data_3_13Conditions"."Comment" = "";
"khotkeysrc"."Data_3_13Conditions"."ConditionsCount" = 0;
"khotkeysrc"."Data_3_13Triggers"."Comment" = "Gesture_triggers";
"khotkeysrc"."Data_3_13Triggers"."TriggersCount" = 1;
"khotkeysrc"."Data_3_13Triggers0"."GesturePointData" = "0,0.0625,-0.5,0,1,0.0625,0.0625,-0.5,0,0.875,0.125,0.0625,-0.5,0,0.75,0.1875,0.0625,-0.5,0,0.625,0.25,0.0625,-0.5,0,0.5,0.3125,0.0625,-0.5,0,0.375,0.375,0.0625,-0.5,0,0.25,0.4375,0.0625,-0.5,0,0.125,0.5,0.0625,0,0,0,0.5625,0.0625,0,0.125,0,0.625,0.0625,0,0.25,0,0.6875,0.0625,0,0.375,0,0.75,0.0625,0,0.5,0,0.8125,0.0625,0,0.625,0,0.875,0.0625,0,0.75,0,0.9375,0.0625,0,0.875,0,1,0,0,1,0";
"khotkeysrc"."Data_3_13Triggers0"."Type" = "GESTURE";
"khotkeysrc"."Data_3_14"."Comment" = "Press, move up, move left, release.";
"khotkeysrc"."Data_3_14"."Enabled" = true;
"khotkeysrc"."Data_3_14"."Name" = "Activate Previous Tab";
"khotkeysrc"."Data_3_14"."Type" = "SIMPLE_ACTION_DATA";
"khotkeysrc"."Data_3_14Actions"."ActionsCount" = 1;
"khotkeysrc"."Data_3_14Actions0"."DestinationWindow" = 2;
"khotkeysrc"."Data_3_14Actions0"."Input" = "Ctrl+,";
"khotkeysrc"."Data_3_14Actions0"."Type" = "KEYBOARD_INPUT";
"khotkeysrc"."Data_3_14Conditions"."Comment" = "";
"khotkeysrc"."Data_3_14Conditions"."ConditionsCount" = 0;
"khotkeysrc"."Data_3_14Triggers"."Comment" = "Gesture_triggers";
"khotkeysrc"."Data_3_14Triggers"."TriggersCount" = 1;
"khotkeysrc"."Data_3_14Triggers0"."GesturePointData" = "0,0.0625,-0.5,1,1,0.0625,0.0625,-0.5,1,0.875,0.125,0.0625,-0.5,1,0.75,0.1875,0.0625,-0.5,1,0.625,0.25,0.0625,-0.5,1,0.5,0.3125,0.0625,-0.5,1,0.375,0.375,0.0625,-0.5,1,0.25,0.4375,0.0625,-0.5,1,0.125,0.5,0.0625,1,1,0,0.5625,0.0625,1,0.875,0,0.625,0.0625,1,0.75,0,0.6875,0.0625,1,0.625,0,0.75,0.0625,1,0.5,0,0.8125,0.0625,1,0.375,0,0.875,0.0625,1,0.25,0,0.9375,0.0625,1,0.125,0,1,0,0,0,0";
"khotkeysrc"."Data_3_14Triggers0"."Type" = "GESTURE";
"khotkeysrc"."Data_3_1Actions"."ActionsCount" = 1;
"khotkeysrc"."Data_3_1Actions0"."DestinationWindow" = 2;
"khotkeysrc"."Data_3_1Actions0"."Input" = "Alt+Left";
"khotkeysrc"."Data_3_1Actions0"."Type" = "KEYBOARD_INPUT";
"khotkeysrc"."Data_3_1Conditions"."Comment" = "";
"khotkeysrc"."Data_3_1Conditions"."ConditionsCount" = 0;
"khotkeysrc"."Data_3_1Triggers"."Comment" = "Gesture_triggers";
"khotkeysrc"."Data_3_1Triggers"."TriggersCount" = 1;
"khotkeysrc"."Data_3_1Triggers0"."GesturePointData" = "0,0.125,1,1,0.5,0.125,0.125,1,0.875,0.5,0.25,0.125,1,0.75,0.5,0.375,0.125,1,0.625,0.5,0.5,0.125,1,0.5,0.5,0.625,0.125,1,0.375,0.5,0.75,0.125,1,0.25,0.5,0.875,0.125,1,0.125,0.5,1,0,0,0,0.5";
"khotkeysrc"."Data_3_1Triggers0"."Type" = "GESTURE";
"khotkeysrc"."Data_3_2"."Comment" = "Press, move down, move up, move down, release.";
"khotkeysrc"."Data_3_2"."Enabled" = true;
"khotkeysrc"."Data_3_2"."Name" = "Duplicate Tab";
"khotkeysrc"."Data_3_2"."Type" = "SIMPLE_ACTION_DATA";
"khotkeysrc"."Data_3_2Actions"."ActionsCount" = 1;
"khotkeysrc"."Data_3_2Actions0"."DestinationWindow" = 2;
"khotkeysrc"."Data_3_2Actions0"."Input" = "Ctrl+Shift+D\n";
"khotkeysrc"."Data_3_2Actions0"."Type" = "KEYBOARD_INPUT";
"khotkeysrc"."Data_3_2Conditions"."Comment" = "";
"khotkeysrc"."Data_3_2Conditions"."ConditionsCount" = 0;
"khotkeysrc"."Data_3_2Triggers"."Comment" = "Gesture_triggers";
"khotkeysrc"."Data_3_2Triggers"."TriggersCount" = 1;
"khotkeysrc"."Data_3_2Triggers0"."GesturePointData" = "0,0.0416667,0.5,0.5,0,0.0416667,0.0416667,0.5,0.5,0.125,0.0833333,0.0416667,0.5,0.5,0.25,0.125,0.0416667,0.5,0.5,0.375,0.166667,0.0416667,0.5,0.5,0.5,0.208333,0.0416667,0.5,0.5,0.625,0.25,0.0416667,0.5,0.5,0.75,0.291667,0.0416667,0.5,0.5,0.875,0.333333,0.0416667,-0.5,0.5,1,0.375,0.0416667,-0.5,0.5,0.875,0.416667,0.0416667,-0.5,0.5,0.75,0.458333,0.0416667,-0.5,0.5,0.625,0.5,0.0416667,-0.5,0.5,0.5,0.541667,0.0416667,-0.5,0.5,0.375,0.583333,0.0416667,-0.5,0.5,0.25,0.625,0.0416667,-0.5,0.5,0.125,0.666667,0.0416667,0.5,0.5,0,0.708333,0.0416667,0.5,0.5,0.125,0.75,0.0416667,0.5,0.5,0.25,0.791667,0.0416667,0.5,0.5,0.375,0.833333,0.0416667,0.5,0.5,0.5,0.875,0.0416667,0.5,0.5,0.625,0.916667,0.0416667,0.5,0.5,0.75,0.958333,0.0416667,0.5,0.5,0.875,1,0,0,0.5,1";
"khotkeysrc"."Data_3_2Triggers0"."Type" = "GESTURE";
"khotkeysrc"."Data_3_3"."Comment" = "Press, move down, move up, release.";
"khotkeysrc"."Data_3_3"."Enabled" = true;
"khotkeysrc"."Data_3_3"."Name" = "Duplicate Window";
"khotkeysrc"."Data_3_3"."Type" = "SIMPLE_ACTION_DATA";
"khotkeysrc"."Data_3_3Actions"."ActionsCount" = 1;
"khotkeysrc"."Data_3_3Actions0"."DestinationWindow" = 2;
"khotkeysrc"."Data_3_3Actions0"."Input" = "Ctrl+D\n";
"khotkeysrc"."Data_3_3Actions0"."Type" = "KEYBOARD_INPUT";
"khotkeysrc"."Data_3_3Conditions"."Comment" = "";
"khotkeysrc"."Data_3_3Conditions"."ConditionsCount" = 0;
"khotkeysrc"."Data_3_3Triggers"."Comment" = "Gesture_triggers";
"khotkeysrc"."Data_3_3Triggers"."TriggersCount" = 1;
"khotkeysrc"."Data_3_3Triggers0"."GesturePointData" = "0,0.0625,0.5,0.5,0,0.0625,0.0625,0.5,0.5,0.125,0.125,0.0625,0.5,0.5,0.25,0.1875,0.0625,0.5,0.5,0.375,0.25,0.0625,0.5,0.5,0.5,0.3125,0.0625,0.5,0.5,0.625,0.375,0.0625,0.5,0.5,0.75,0.4375,0.0625,0.5,0.5,0.875,0.5,0.0625,-0.5,0.5,1,0.5625,0.0625,-0.5,0.5,0.875,0.625,0.0625,-0.5,0.5,0.75,0.6875,0.0625,-0.5,0.5,0.625,0.75,0.0625,-0.5,0.5,0.5,0.8125,0.0625,-0.5,0.5,0.375,0.875,0.0625,-0.5,0.5,0.25,0.9375,0.0625,-0.5,0.5,0.125,1,0,0,0.5,0";
"khotkeysrc"."Data_3_3Triggers0"."Type" = "GESTURE";
"khotkeysrc"."Data_3_4"."Comment" = "Press, move right, release.";
"khotkeysrc"."Data_3_4"."Enabled" = true;
"khotkeysrc"."Data_3_4"."Name" = "Forward";
"khotkeysrc"."Data_3_4"."Type" = "SIMPLE_ACTION_DATA";
"khotkeysrc"."Data_3_4Actions"."ActionsCount" = 1;
"khotkeysrc"."Data_3_4Actions0"."DestinationWindow" = 2;
"khotkeysrc"."Data_3_4Actions0"."Input" = "Alt+Right";
"khotkeysrc"."Data_3_4Actions0"."Type" = "KEYBOARD_INPUT";
"khotkeysrc"."Data_3_4Conditions"."Comment" = "";
"khotkeysrc"."Data_3_4Conditions"."ConditionsCount" = 0;
"khotkeysrc"."Data_3_4Triggers"."Comment" = "Gesture_triggers";
"khotkeysrc"."Data_3_4Triggers"."TriggersCount" = 1;
"khotkeysrc"."Data_3_4Triggers0"."GesturePointData" = "0,0.125,0,0,0.5,0.125,0.125,0,0.125,0.5,0.25,0.125,0,0.25,0.5,0.375,0.125,0,0.375,0.5,0.5,0.125,0,0.5,0.5,0.625,0.125,0,0.625,0.5,0.75,0.125,0,0.75,0.5,0.875,0.125,0,0.875,0.5,1,0,0,1,0.5";
"khotkeysrc"."Data_3_4Triggers0"."Type" = "GESTURE";
"khotkeysrc"."Data_3_5"."Comment" = "Press, move down, move half up, move right, move down, release.\n(Drawing a lowercase 'h'.)";
"khotkeysrc"."Data_3_5"."Enabled" = true;
"khotkeysrc"."Data_3_5"."Name" = "Home";
"khotkeysrc"."Data_3_5"."Type" = "SIMPLE_ACTION_DATA";
"khotkeysrc"."Data_3_5Actions"."ActionsCount" = 1;
"khotkeysrc"."Data_3_5Actions0"."DestinationWindow" = 2;
"khotkeysrc"."Data_3_5Actions0"."Input" = "Alt+Home\n";
"khotkeysrc"."Data_3_5Actions0"."Type" = "KEYBOARD_INPUT";
"khotkeysrc"."Data_3_5Conditions"."Comment" = "";
"khotkeysrc"."Data_3_5Conditions"."ConditionsCount" = 0;
"khotkeysrc"."Data_3_5Triggers"."Comment" = "Gesture_triggers";
"khotkeysrc"."Data_3_5Triggers"."TriggersCount" = 2;
"khotkeysrc"."Data_3_5Triggers0"."GesturePointData" = "0,0.0461748,0.5,0,0,0.0461748,0.0461748,0.5,0,0.125,0.0923495,0.0461748,0.5,0,0.25,0.138524,0.0461748,0.5,0,0.375,0.184699,0.0461748,0.5,0,0.5,0.230874,0.0461748,0.5,0,0.625,0.277049,0.0461748,0.5,0,0.75,0.323223,0.0461748,0.5,0,0.875,0.369398,0.065301,-0.25,0,1,0.434699,0.065301,-0.25,0.125,0.875,0.5,0.065301,-0.25,0.25,0.75,0.565301,0.065301,-0.25,0.375,0.625,0.630602,0.0461748,0,0.5,0.5,0.676777,0.0461748,0,0.625,0.5,0.722951,0.0461748,0,0.75,0.5,0.769126,0.0461748,0,0.875,0.5,0.815301,0.0461748,0.5,1,0.5,0.861476,0.0461748,0.5,1,0.625,0.90765,0.0461748,0.5,1,0.75,0.953825,0.0461748,0.5,1,0.875,1,0,0,1,1";
"khotkeysrc"."Data_3_5Triggers0"."Type" = "GESTURE";
"khotkeysrc"."Data_3_5Triggers1"."GesturePointData" = "0,0.0416667,0.5,0,0,0.0416667,0.0416667,0.5,0,0.125,0.0833333,0.0416667,0.5,0,0.25,0.125,0.0416667,0.5,0,0.375,0.166667,0.0416667,0.5,0,0.5,0.208333,0.0416667,0.5,0,0.625,0.25,0.0416667,0.5,0,0.75,0.291667,0.0416667,0.5,0,0.875,0.333333,0.0416667,-0.5,0,1,0.375,0.0416667,-0.5,0,0.875,0.416667,0.0416667,-0.5,0,0.75,0.458333,0.0416667,-0.5,0,0.625,0.5,0.0416667,0,0,0.5,0.541667,0.0416667,0,0.125,0.5,0.583333,0.0416667,0,0.25,0.5,0.625,0.0416667,0,0.375,0.5,0.666667,0.0416667,0,0.5,0.5,0.708333,0.0416667,0,0.625,0.5,0.75,0.0416667,0,0.75,0.5,0.791667,0.0416667,0,0.875,0.5,0.833333,0.0416667,0.5,1,0.5,0.875,0.0416667,0.5,1,0.625,0.916667,0.0416667,0.5,1,0.75,0.958333,0.0416667,0.5,1,0.875,1,0,0,1,1";
"khotkeysrc"."Data_3_5Triggers1"."Type" = "GESTURE";
"khotkeysrc"."Data_3_6"."Comment" = "Press, move right, move down, move right, release.\nMozilla-style: Press, move down, move right, release.";
"khotkeysrc"."Data_3_6"."Enabled" = true;
"khotkeysrc"."Data_3_6"."Name" = "Close Tab";
"khotkeysrc"."Data_3_6"."Type" = "SIMPLE_ACTION_DATA";
"khotkeysrc"."Data_3_6Actions"."ActionsCount" = 1;
"khotkeysrc"."Data_3_6Actions0"."DestinationWindow" = 2;
"khotkeysrc"."Data_3_6Actions0"."Input" = "Ctrl+W\n";
"khotkeysrc"."Data_3_6Actions0"."Type" = "KEYBOARD_INPUT";
"khotkeysrc"."Data_3_6Conditions"."Comment" = "";
"khotkeysrc"."Data_3_6Conditions"."ConditionsCount" = 0;
"khotkeysrc"."Data_3_6Triggers"."Comment" = "Gesture_triggers";
"khotkeysrc"."Data_3_6Triggers"."TriggersCount" = 2;
"khotkeysrc"."Data_3_6Triggers0"."GesturePointData" = "0,0.0625,0,0,0,0.0625,0.0625,0,0.125,0,0.125,0.0625,0,0.25,0,0.1875,0.0625,0,0.375,0,0.25,0.0625,0.5,0.5,0,0.3125,0.0625,0.5,0.5,0.125,0.375,0.0625,0.5,0.5,0.25,0.4375,0.0625,0.5,0.5,0.375,0.5,0.0625,0.5,0.5,0.5,0.5625,0.0625,0.5,0.5,0.625,0.625,0.0625,0.5,0.5,0.75,0.6875,0.0625,0.5,0.5,0.875,0.75,0.0625,0,0.5,1,0.8125,0.0625,0,0.625,1,0.875,0.0625,0,0.75,1,0.9375,0.0625,0,0.875,1,1,0,0,1,1";
"khotkeysrc"."Data_3_6Triggers0"."Type" = "GESTURE";
"khotkeysrc"."Data_3_6Triggers1"."GesturePointData" = "0,0.0625,0.5,0,0,0.0625,0.0625,0.5,0,0.125,0.125,0.0625,0.5,0,0.25,0.1875,0.0625,0.5,0,0.375,0.25,0.0625,0.5,0,0.5,0.3125,0.0625,0.5,0,0.625,0.375,0.0625,0.5,0,0.75,0.4375,0.0625,0.5,0,0.875,0.5,0.0625,0,0,1,0.5625,0.0625,0,0.125,1,0.625,0.0625,0,0.25,1,0.6875,0.0625,0,0.375,1,0.75,0.0625,0,0.5,1,0.8125,0.0625,0,0.625,1,0.875,0.0625,0,0.75,1,0.9375,0.0625,0,0.875,1,1,0,0,1,1";
"khotkeysrc"."Data_3_6Triggers1"."Type" = "GESTURE";
"khotkeysrc"."Data_3_7"."Comment" = "Press, move up, release.\nConflicts with Opera-style 'Up #2', which is disabled by default.";
"khotkeysrc"."Data_3_7"."Enabled" = true;
"khotkeysrc"."Data_3_7"."Name" = "New Tab";
"khotkeysrc"."Data_3_7"."Type" = "SIMPLE_ACTION_DATA";
"khotkeysrc"."Data_3_7Actions"."ActionsCount" = 1;
"khotkeysrc"."Data_3_7Actions0"."DestinationWindow" = 2;
"khotkeysrc"."Data_3_7Actions0"."Input" = "Ctrl+Shift+N";
"khotkeysrc"."Data_3_7Actions0"."Type" = "KEYBOARD_INPUT";
"khotkeysrc"."Data_3_7Conditions"."Comment" = "";
"khotkeysrc"."Data_3_7Conditions"."ConditionsCount" = 0;
"khotkeysrc"."Data_3_7Triggers"."Comment" = "Gesture_triggers";
"khotkeysrc"."Data_3_7Triggers"."TriggersCount" = 1;
"khotkeysrc"."Data_3_7Triggers0"."GesturePointData" = "0,0.125,-0.5,0.5,1,0.125,0.125,-0.5,0.5,0.875,0.25,0.125,-0.5,0.5,0.75,0.375,0.125,-0.5,0.5,0.625,0.5,0.125,-0.5,0.5,0.5,0.625,0.125,-0.5,0.5,0.375,0.75,0.125,-0.5,0.5,0.25,0.875,0.125,-0.5,0.5,0.125,1,0,0,0.5,0";
"khotkeysrc"."Data_3_7Triggers0"."Type" = "GESTURE";
"khotkeysrc"."Data_3_8"."Comment" = "Press, move down, release.";
"khotkeysrc"."Data_3_8"."Enabled" = true;
"khotkeysrc"."Data_3_8"."Name" = "New Window";
"khotkeysrc"."Data_3_8"."Type" = "SIMPLE_ACTION_DATA";
"khotkeysrc"."Data_3_8Actions"."ActionsCount" = 1;
"khotkeysrc"."Data_3_8Actions0"."DestinationWindow" = 2;
"khotkeysrc"."Data_3_8Actions0"."Input" = "Ctrl+N\n";
"khotkeysrc"."Data_3_8Actions0"."Type" = "KEYBOARD_INPUT";
"khotkeysrc"."Data_3_8Conditions"."Comment" = "";
"khotkeysrc"."Data_3_8Conditions"."ConditionsCount" = 0;
"khotkeysrc"."Data_3_8Triggers"."Comment" = "Gesture_triggers";
"khotkeysrc"."Data_3_8Triggers"."TriggersCount" = 1;
"khotkeysrc"."Data_3_8Triggers0"."GesturePointData" = "0,0.125,0.5,0.5,0,0.125,0.125,0.5,0.5,0.125,0.25,0.125,0.5,0.5,0.25,0.375,0.125,0.5,0.5,0.375,0.5,0.125,0.5,0.5,0.5,0.625,0.125,0.5,0.5,0.625,0.75,0.125,0.5,0.5,0.75,0.875,0.125,0.5,0.5,0.875,1,0,0,0.5,1";
"khotkeysrc"."Data_3_8Triggers0"."Type" = "GESTURE";
"khotkeysrc"."Data_3_9"."Comment" = "Press, move up, move down, release.";
"khotkeysrc"."Data_3_9"."Enabled" = true;
"khotkeysrc"."Data_3_9"."Name" = "Reload";
"khotkeysrc"."Data_3_9"."Type" = "SIMPLE_ACTION_DATA";
"khotkeysrc"."Data_3_9Actions"."ActionsCount" = 1;
"khotkeysrc"."Data_3_9Actions0"."DestinationWindow" = 2;
"khotkeysrc"."Data_3_9Actions0"."Input" = "F5";
"khotkeysrc"."Data_3_9Actions0"."Type" = "KEYBOARD_INPUT";
"khotkeysrc"."Data_3_9Conditions"."Comment" = "";
"khotkeysrc"."Data_3_9Conditions"."ConditionsCount" = 0;
"khotkeysrc"."Data_3_9Triggers"."Comment" = "Gesture_triggers";
"khotkeysrc"."Data_3_9Triggers"."TriggersCount" = 1;
"khotkeysrc"."Data_3_9Triggers0"."GesturePointData" = "0,0.0625,-0.5,0.5,1,0.0625,0.0625,-0.5,0.5,0.875,0.125,0.0625,-0.5,0.5,0.75,0.1875,0.0625,-0.5,0.5,0.625,0.25,0.0625,-0.5,0.5,0.5,0.3125,0.0625,-0.5,0.5,0.375,0.375,0.0625,-0.5,0.5,0.25,0.4375,0.0625,-0.5,0.5,0.125,0.5,0.0625,0.5,0.5,0,0.5625,0.0625,0.5,0.5,0.125,0.625,0.0625,0.5,0.5,0.25,0.6875,0.0625,0.5,0.5,0.375,0.75,0.0625,0.5,0.5,0.5,0.8125,0.0625,0.5,0.5,0.625,0.875,0.0625,0.5,0.5,0.75,0.9375,0.0625,0.5,0.5,0.875,1,0,0,0.5,1";
"khotkeysrc"."Data_3_9Triggers0"."Type" = "GESTURE";
"khotkeysrc"."DirSelect Dialog"."DirSelectDialog Size[$d]" = "";
"khotkeysrc"."General"."AccentColor[$d]" = "";
"khotkeysrc"."General"."AllowKDEAppsToRememberWindowPositions[$d]" = "";
"khotkeysrc"."General"."BrowserApplication[$d]" = "";
"khotkeysrc"."General"."ColorSchemeHash[$d]" = "";
"khotkeysrc"."General"."ColorScheme[$d]" = "";
"khotkeysrc"."General"."LastUsedCustomAccentColor[$d]" = "";
"khotkeysrc"."General"."XftAntialias[$d]" = "";
"khotkeysrc"."General"."XftHintStyle[$d]" = "";
"khotkeysrc"."General"."XftSubPixel[$d]" = "";
"khotkeysrc"."General"."accentColorFromWallpaper[$d]" = "";
"khotkeysrc"."Gestures"."Disabled" = true;
"khotkeysrc"."Gestures"."MouseButton" = 2;
"khotkeysrc"."Gestures"."Timeout" = 300;
"khotkeysrc"."GesturesExclude"."Comment" = "";
"khotkeysrc"."GesturesExclude"."WindowsCount" = 0;
"khotkeysrc"."Icons"."Theme[$d]" = "";
"khotkeysrc"."KDE"."LookAndFeelPackage[$d]" = "";
"khotkeysrc"."KDE"."SingleClick[$d]" = "";
"khotkeysrc"."KDE"."widgetStyle[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Allow Expansion[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Automatically select filename extension[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Breadcrumb Navigation[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Decoration position[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."LocationCombo Completionmode[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."PathCombo Completionmode[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Preview Width[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Show Bookmarks[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Show Full Path[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Show Inline Previews[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Show Preview[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Show Speedbar[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Show hidden files[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Sort by[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Sort directories first[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Sort hidden files last[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Sort reversed[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."Speedbar Width[$d]" = "";
"khotkeysrc"."KFileDialog Settings"."View Style[$d]" = "";
"khotkeysrc"."KScreen"."ScreenScaleFactors[$d]" = "";
"khotkeysrc"."KShortcutsDialog Settings"."Dialog Size[$d]" = "";
"khotkeysrc"."Main"."AlreadyImported" = "defaults,kde32b1,konqueror_gestures_kde321";
"khotkeysrc"."Main"."Disabled" = false;
"khotkeysrc"."PreviewSettings"."MaximumRemoteSize[$d]" = "";
"khotkeysrc"."Voice"."Shortcut" = "";
"khotkeysrc"."WM"."activeBackground[$d]" = "";
"khotkeysrc"."WM"."activeBlend[$d]" = "";
"khotkeysrc"."WM"."activeForeground[$d]" = "";
"khotkeysrc"."WM"."inactiveBackground[$d]" = "";
"khotkeysrc"."WM"."inactiveBlend[$d]" = "";
"khotkeysrc"."WM"."inactiveForeground[$d]" = "";
"kiorc"."Confirmations"."ConfirmDelete" = true;
"kiorc"."Confirmations"."ConfirmEmptyTrash" = true;
"kiorc"."Confirmations"."ConfirmTrash" = false;
"kiorc"."Executable scripts"."behaviourOnLaunch" = "alwaysAsk";
"klipperrc"."General"."IgnoreImages" = false;
"klipperrc"."General"."MaxClipItems" = 100;
"kmixrc"."Global"."AllowDocking" = false;
"kmixrc"."Global"."AutoStart" = false;
"kmixrc"."Global"."ConfigVersion" = 3;
"kmixrc"."Global"."MasterMixer" = "PulseAudio::Playback_Devices:1";
"kmixrc"."Global"."MasterMixerDevice" = "auto_null";
"kmixrc"."Global"."MixerIgnoreExpression" = "Modem";
"kmixrc"."Global"."Size" = "0,0";
"kmixrc"."Global"."Visible" = false;
"kmixrc"."Profiles"."PulseAudio::Capture_Devices:1" = "PulseAudio..1.default";
"kmixrc"."Profiles"."PulseAudio::Capture_Streams:1" = "PulseAudio..1.default";
"kmixrc"."Profiles"."PulseAudio::Playback_Devices:1" = "PulseAudio..1.default";
"kmixrc"."Profiles"."PulseAudio::Playback_Streams:1" = "PulseAudio..1.default";
"kmixrc"."View.PulseAudio..1.default.PulseAudio::Capture_Devices:1.alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_6__source"."Split" = false;
"kmixrc"."View.PulseAudio..1.default.PulseAudio::Capture_Devices:1.alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__source"."Split" = false;
"kmixrc"."View.PulseAudio..1.default.PulseAudio::Playback_Streams:1.restore:sink-input-by-media-role:event"."Split" = false;
"kmixrc"."View.PulseAudio..1.default.PulseAudio::Playback_Devices:1.alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_3__sink"."Split" = false;
"kmixrc"."View.PulseAudio..1.default.PulseAudio::Playback_Devices:1.alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_4__sink"."Split" = false;
"kmixrc"."View.PulseAudio..1.default.PulseAudio::Playback_Devices:1.alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_5__sink"."Split" = false;
"kmixrc"."View.PulseAudio..1.default.PulseAudio::Playback_Devices:1.alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__sink"."Split" = false;
"kmixrc"."View.PulseAudio..1.default.PulseAudio::Playback_Devices:1.auto_null"."Split" = false;
"kmixrc".""."Height 1600" = 455;
"kmixrc".""."Width 2560" = 554;
"krunnerrc"."General"."FreeFloating" = true;
"krunnerrc"."Plugins"."baloosearchEnabled" = false;
"kscreenlockerrc"."Daemon"."Autolock" = false;
"kscreenlockerrc"."Greeter.Wallpaper.org.kde.image.General"."Image" = "/home/chn/Desktop/./HlszomyrfyxKLtpkVixEtikq_x4_chop.png";
"kscreenlockerrc"."Greeter.Wallpaper.org.kde.image.General"."PreviewImage" = "/home/chn/Desktop/./HlszomyrfyxKLtpkVixEtikq_x4_chop.png";
"ksmserverrc"."General"."loginMode" = "emptySession";
"ksmserverrc"."SubSession: 3435a388-a8b3-4d1d-9794-b8c30162ce16"."count" = 0;
"ksmserverrc"."SubSession: 6a473a77-85df-4e49-8c74-bdb06d1f0efd"."count" = 0;
"kwalletrc"."Wallet"."First Use" = false;
"kwinrc"."Compositing"."AllowTearing" = false;
"kwinrc"."Desktops"."Id_1" = "59c97a39-ae86-42a2-a6a2-e355b275189a";
"kwinrc"."Desktops"."Id_2" = "46153339-1363-403c-9622-35430b0557e5";
"kwinrc"."Desktops"."Id_3" = "d1990814-e34a-4d65-b29d-9869aa390130";
"kwinrc"."Desktops"."Id_4" = "55b646ba-2f52-4af6-84ad-6e83b93c0669";
"kwinrc"."Desktops"."Number" = 4;
"kwinrc"."Desktops"."Rows" = 2;
# https://www.fanbox.cc/@peas0125/posts/5405326
"kscreenlockerrc"."Greeter.Wallpaper.org.kde.image.General"."Image" = ./wallpaper/fanbox-5405326-x4-chop.png;
"kscreenlockerrc"."Greeter.Wallpaper.org.kde.image.General"."PreviewImage" =
./wallpaper/fanbox-5405326-x4-chop.png;
"kwinrc"."Effect-blur"."BlurStrength" = 10;
"kwinrc"."Effect-kwin4_effect_translucency"."MoveResize" = 75;
"kwinrc"."Effect-wobblywindows"."AdvancedMode" = true;
@@ -774,29 +142,6 @@
"kwinrc"."SubSession: 6a473a77-85df-4e49-8c74-bdb06d1f0efd"."active" = "-1";
"kwinrc"."SubSession: 6a473a77-85df-4e49-8c74-bdb06d1f0efd"."count" = 0;
"kwinrc"."Tiling"."padding" = 4;
"kwinrc"."Tiling.0d3998b5-12fb-5e5d-9844-298a9a2f96a3"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
"kwinrc"."Tiling.213a9620-187e-58a6-b80b-85d8fb95dfce"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
"kwinrc"."Tiling.285712a6-31d1-5e3a-95e8-b6f4629caf9f"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
"kwinrc"."Tiling.2aa85c1b-f9f4-51c2-831e-dbbd6aea2576"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
"kwinrc"."Tiling.3e6a13d3-7d29-5922-82c3-84e8bdf10429"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
"kwinrc"."Tiling.40fb0ae6-4d25-5480-b243-0f4924570b92"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
"kwinrc"."Tiling.41dbdd7d-3355-5b44-a3d8-6b9d76bd8f49"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
"kwinrc"."Tiling.4c85f5bb-4dcb-5bec-8433-5c0e6860d679"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
"kwinrc"."Tiling.5b7a5ba4-43cc-5910-8e98-f358f9d54b43"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
"kwinrc"."Tiling.68ef4fec-9971-5899-9f5a-9bafaac6d016"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
"kwinrc"."Tiling.7b033d70-7be4-564a-8cb5-131fc76f4517"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
"kwinrc"."Tiling.8abeadb8-e20c-502f-a422-649967e677bd"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
"kwinrc"."Tiling.930227d2-176d-55ae-b42d-99afaeafa61d"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
"kwinrc"."Tiling.94554398-f51f-5d08-8909-838a65d2021f"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
"kwinrc"."Tiling.9ce2bb81-955c-5eca-bf8f-a2b96c1bd574"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
"kwinrc"."Tiling.9fff9751-4241-5809-b520-d1e4f7ee6716"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
"kwinrc"."Tiling.a0d5ed6f-d993-5652-af90-8090aaea58f1"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
"kwinrc"."Tiling.af1f9f4e-7675-5e65-b3ad-cab439cd3ed4"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
"kwinrc"."Tiling.b08bfea5-80c9-53b4-a9ac-29c5c722ee85"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
"kwinrc"."Tiling.b31b477c-d7e2-5305-b59d-f5c58bb123c5"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
"kwinrc"."Tiling.c9dcef5c-605f-5b87-bbbf-1a493981abea"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
"kwinrc"."Tiling.ed4b5b12-e8f0-5571-a0dd-1bf2e3d208f2"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
"kwinrc"."Tiling.fe059470-320a-5189-aef7-d3a016f73584"."tiles" = "{\"layoutDirection\":\"horizontal\",\"tiles\":[{\"width\":0.25},{\"width\":0.5},{\"width\":0.25}]}";
"kwinrc"."Wayland"."InputMethod[$e]" = "/run/current-system/sw/share/applications/org.fcitx.Fcitx5.desktop";
"kwinrc"."Windows"."RollOverDesktops" = true;
"kwinrc"."Xwayland"."Scale" = 1;
@@ -847,7 +192,6 @@
"plasma-localerc"."Translations"."LANGUAGE" = "zh_CN";
"plasmanotifyrc"."Notifications"."PopupPosition" = "BottomRight";
"plasmarc"."Wallpapers"."usersWallpapers" = "/home/chn/Desktop/./twin_96734339_x2.png,/home/chn/Desktop/./E_yCTfDUUAgykjX_x8.jpeg,/home/chn/Desktop/./102692178_p0_[L1][x2.00].png,/home/chn/Desktop/./111392869_p0.png,/home/chn/Desktop/./HlszomyrfyxKLtpkVixEtikq_x4_chop.png";
"systemsettingsrc"."KFileDialog Settings"."detailViewIconSize" = 16;
};
};
}

Binary file not shown.

View File

@@ -2,6 +2,13 @@ inputs:
{
options.nixos.virtualization = let inherit (inputs.lib) mkOption types; in
{
# /var/lib/waydroid/waydroid_base.prop
# default:
# ro.hardware.gralloc=gbm
# ro.hardware.egl=mesa
# nvidia:
# ro.hardware.gralloc=default
# ro.hardware.egl=swiftshader
waydroid.enable = mkOption { default = false; type = types.bool; };
docker.enable = mkOption { default = false; type = types.bool; };
kvmHost =

View File

@@ -10,8 +10,7 @@ xray-server:
user1: ENC[AES256_GCM,data:S3IHO9FcVHTJOsRxjSohM9MgnrEwLdDpFU+efLkQaXT2jNJG,iv:KOesvPzjDfm1EDLFiegbk0wgjp7di5mUwUuuY2hwvOQ=,tag:ZsYyUyyEhO5S3weCw/gPMw==,type:str]
#ENC[AES256_GCM,data:OQOPobpbbhajgA==,iv:4jG3bHKzWcR+JnvSlJsc0Qlv5kywqVN5UE96J31CP7Q=,tag:P+jJkRxPu99tLXyO5k6dRA==,type:comment]
user2: ENC[AES256_GCM,data:e7ITe2ZouKr8dXT7SYATyzbzHaVeu6AKt1OcQKk3U0nsQgoa,iv:UbOOuojy6OAFEH8lGhKe5Hs+2K6FX5MZ8Br9AB007gs=,tag:5XeB4YngzTcHZvCpXe/ZXA==,type:str]
#ENC[AES256_GCM,data:vEit6GESM5G+Xw==,iv:A7uisdmzB2qiPeYkut6k8D3xxpVIBy/JE9cctC/cDQQ=,tag:ZY7Ttu5AUqjIxB4BIHEucQ==,type:comment]
user3: ENC[AES256_GCM,data:Q3GlAiELNXurVN3nv5k8Zt1/zqctYb3gvHZ4KnXApCRdShHT,iv:ihJ76k4NcwitdYCS0y4/UlH4K63vwmAY63bCWSi9dkk=,tag:XaH97gpAdaFkUiUTb50aLw==,type:str]
user3: ENC[AES256_GCM,data:r+6jXaIj4HJoYLnJcnjJB+WEZlGaoSy/ktc1Aw77hFtNrrGp,iv:P+YUKns1yaOZokH5WkDB0jssGyHg3ncc54tF1PyA7Oc=,tag:/pxMEr7l4ye5EDAOsllxJA==,type:str]
#ENC[AES256_GCM,data:4gqZh391hg==,iv:No22DrD6EBs2FA4/qH8msWEjs20fc+ZpEeZep+HIv+c=,tag:aHrYNbI83POI4PRj1nd+Yw==,type:comment]
user4: ENC[AES256_GCM,data:ujiml/r4aFiKOkSJkaD/KE8rKuBtLSnpZREBH3vRJUzDT0QM,iv:a3VFlXpMLNFihvFa7gloANtHmBLg4szTL5LTm8E2kNs=,tag:W9KZ1GAVx9IBKfda7Zedng==,type:str]
#ENC[AES256_GCM,data:bnnxo/I=,iv:8jOo0P+8gk05O1vnxOiyGhaeD4wyuaaA3CCr8/DbzII=,tag:J6VSJZoko3EiWyn0ATcmqA==,type:comment]
@@ -101,8 +100,8 @@ sops:
ZXFTU3ZCaW1pTVh0RUJzdDdGdHlPYTgK2mlgcX2kEc8+2UDdBnhUm6IIuh8V6agW
ooxH9OEPXUVI/4JcDo4v8ZUhAyU1ehLH0Ef7PJCChOZe2KZmWSNbhA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2023-12-08T08:32:56Z"
mac: ENC[AES256_GCM,data:mE2I5XIv+xcbaaZmnXfxCYmb5BMGc+D4AqdmFeYDrUPLZgtaSZvJkP0pVDhJcRy7L5VooGgBaI/OFWrQMLgP0Oz2s092AwiDmCV8jLQQrXs1X+ABdHLXTLvjhnOMTk8ZV0KizWJLEuCFgZ0lS6mjVHQNDW1d2TNxAhM7JvTyOVw=,iv:BZw32WlqgQzz6j5gxS1U4l10K8C5YBZAvYotilBXPA0=,tag:oc4EqeWQK9kkPgiIHfiLjQ==,type:str]
lastmodified: "2024-01-15T11:39:07Z"
mac: ENC[AES256_GCM,data:cjP8ZDujb+RhdK5fa51if+mlx2EpfA4TTmlRbExfIDnahM8deF7qmXhOXeRIF7TrdK7HrxxOsNm2F300sbtEV0CJBsu0Wf9V3JuCuf2deEhABVSEh5f44ZCg4fLCFKCidn6GZPGjk+nEbFd+U5elcDHaqbdhdMeu3iMIf/xncac=,iv:uTv//gOvqdOKWWFvDsvdix66UiHmKzf2Dz2FuJYCfcY=,tag:qzXfKyyltjZVN8sux5mElA==,type:str]
pgp: []
unencrypted_suffix: _unencrypted
version: 3.8.1