mirror of
https://github.com/CHN-beta/nixos.git
synced 2026-01-12 04:59:23 +08:00
Compare commits
117 Commits
259dfd53f3
...
fix-efishe
| Author | SHA1 | Date | |
|---|---|---|---|
| a07800192d | |||
| 13b0c77e7a | |||
| 43e8215fc6 | |||
| abdf3f5f0b | |||
| 9b41ebd154 | |||
| 21e8b5300a | |||
| 6967ab4839 | |||
| 3a60acebb5 | |||
| 26f0b20684 | |||
| 2fe4fb2a25 | |||
| 641fd3bb97 | |||
| d37e47ff40 | |||
| 67d3cac7a1 | |||
| 3ffdf466bb | |||
| c89af3fa52 | |||
| 817613ea96 | |||
| 236ddddffc | |||
| c08fd457cb | |||
| a577616756 | |||
| 9e43844e14 | |||
| 81521bcd3b | |||
| e2674908fb | |||
| 7d43e6218d | |||
| 41552e2ea1 | |||
| 268c5bdf3a | |||
| 500d4ac79e | |||
| d0603c5977 | |||
| a5fdf1ea1d | |||
| 8774a6759a | |||
| d354b555eb | |||
| 3a96911336 | |||
| 08df40f3a3 | |||
| bffed3b584 | |||
| c29eb53ee0 | |||
| 42119af04d | |||
| 9d5772ab1f | |||
| fbc6d5bee1 | |||
| 9f9e58e54e | |||
| dc297d0d04 | |||
| b59dc1b213 | |||
| 853aaf8183 | |||
| 795acc3828 | |||
| 7cf371e78c | |||
| 39fde66754 | |||
| 7a881491bd | |||
| 8e7c615b02 | |||
| dbc6874ead | |||
| 1a2f725a8e | |||
| 0665f57988 | |||
| 15a9f0c05e | |||
| 82d834e93a | |||
| c4cccacba3 | |||
| 753709d494 | |||
| 173d83daae | |||
| cbe228c873 | |||
| eb2ab49388 | |||
| 3fd0988582 | |||
| de3b40360b | |||
| bb9a1bfb68 | |||
| 9d8442b1cf | |||
| 26150244cb | |||
| 914eea92b6 | |||
| b2532ef44d | |||
| b600c81aa7 | |||
| 01a5c290bc | |||
| 16c9fa7c3d | |||
| 9bf3faee63 | |||
| e1789991c4 | |||
| 3cbfe14cc2 | |||
| 2df6396b84 | |||
| ce44fe7856 | |||
| de292de159 | |||
| 81b6831e1b | |||
| bd445d5034 | |||
| 0ca6df2499 | |||
| 00d010a910 | |||
| 48f450bfe3 | |||
| 7e4fe4837f | |||
| 13edf20710 | |||
| 556a8d68fc | |||
| 2e9972a8cd | |||
| 30397a8443 | |||
| 1fcecbb74d | |||
| d80d009e3a | |||
| a9e0a57791 | |||
| 17430b943e | |||
| 7e8bd6f959 | |||
| a624e98514 | |||
| 67a03b5ccc | |||
| f64390d7a7 | |||
| d0158b1608 | |||
| 36da74115e | |||
| fd13dd7319 | |||
| 0e75a6f4e8 | |||
| ccc102ea00 | |||
| 4465522bc5 | |||
| 8ba5913eca | |||
| 478d760816 | |||
| 98f9bfd1e5 | |||
| 2d1df77bc3 | |||
| dc19b577dc | |||
| 49898a9d01 | |||
| c35664984e | |||
| aec8ef7c35 | |||
| 8931b90a33 | |||
| 2b2883ab48 | |||
| 410f73e8b1 | |||
| 8ef28b9de5 | |||
| c8e0c74535 | |||
| d5a3a6b05a | |||
| 00901f5cb5 | |||
| c83505da53 | |||
| 30c18790f9 | |||
| 216117a30a | |||
| c4af4de4ea | |||
| daa824943f | |||
| bcd64f2fe7 |
2
.gitattributes
vendored
Normal file
2
.gitattributes
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.icm filter=lfs diff=lfs merge=lfs -text
|
||||||
10
.sops.yaml
10
.sops.yaml
@@ -3,7 +3,7 @@ keys: # cat /etc/ssh/ssh_host_ed25519_key.pub | ssh-to-age
|
|||||||
- &pc age1ffvr5pqd2lfj24e3fh53s92z6h76fda3du4y4k6r3yjumdwvpfgqzj033a
|
- &pc age1ffvr5pqd2lfj24e3fh53s92z6h76fda3du4y4k6r3yjumdwvpfgqzj033a
|
||||||
- &vps6 age164tyqklwhdm57tfm5u863mdt2xrzrrzac4py8a0j9y6kzqcjy9zsp073t6
|
- &vps6 age164tyqklwhdm57tfm5u863mdt2xrzrrzac4py8a0j9y6kzqcjy9zsp073t6
|
||||||
- &vps7 age137x7csalutwvfygvvzpemlsywvdxj3j4z93a50z2sjx03w6zau8q3r5902
|
- &vps7 age137x7csalutwvfygvvzpemlsywvdxj3j4z93a50z2sjx03w6zau8q3r5902
|
||||||
- &yoga age1qrea4twxdhd7fnvlq5v45528c90qy6hp2wa55kghsxzgut6n6fxs7w6u42
|
- &surface age1ck5vzs0xqx0jplmuksrkh45xwmkm2t05m2wyq5k2w2mnkmn79fxs6tvl3l
|
||||||
- &nas age19lhcwk37jmvn6z0v4dpdfh0k4u23f76twdjknc0p7atktf37rd7s4t4wj3
|
- &nas age19lhcwk37jmvn6z0v4dpdfh0k4u23f76twdjknc0p7atktf37rd7s4t4wj3
|
||||||
- &xmupc1 age19ax6vm3pv8rph5tq3mmehd9sy9jk823tw8svsd790r0lkslycquqvlwz9m
|
- &xmupc1 age19ax6vm3pv8rph5tq3mmehd9sy9jk823tw8svsd790r0lkslycquqvlwz9m
|
||||||
creation_rules:
|
creation_rules:
|
||||||
@@ -27,15 +27,11 @@ creation_rules:
|
|||||||
- age:
|
- age:
|
||||||
- *chn
|
- *chn
|
||||||
- *nas
|
- *nas
|
||||||
- path_regex: secrets/xmupc1/.*$
|
- path_regex: secrets/surface/.*$
|
||||||
key_groups:
|
key_groups:
|
||||||
- age:
|
- age:
|
||||||
- *chn
|
- *chn
|
||||||
- path_regex: secrets/yoga/.*$
|
- *surface
|
||||||
key_groups:
|
|
||||||
- age:
|
|
||||||
- *chn
|
|
||||||
- *yoga
|
|
||||||
- path_regex: secrets/xmupc1/.*$
|
- path_regex: secrets/xmupc1/.*$
|
||||||
key_groups:
|
key_groups:
|
||||||
- age:
|
- age:
|
||||||
|
|||||||
99
devices/nas/default.nix
Normal file
99
devices/nas/default.nix
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
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" ];
|
||||||
|
networking.hostname = "nas";
|
||||||
|
};
|
||||||
|
hardware = { cpus = [ "intel" ]; gpus = [ "intel" ]; };
|
||||||
|
packages.packageSet = "server";
|
||||||
|
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; };
|
||||||
|
xray.client =
|
||||||
|
{
|
||||||
|
enable = true;
|
||||||
|
serverAddress = "74.211.99.69";
|
||||||
|
serverName = "vps6.xserver.chn.moe";
|
||||||
|
dns.extraInterfaces = [ "docker0" ];
|
||||||
|
};
|
||||||
|
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" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
BIN
devices/pc/color/TPLCD_161B_Default.icm
LFS
Executable file
BIN
devices/pc/color/TPLCD_161B_Default.icm
LFS
Executable file
Binary file not shown.
BIN
devices/pc/color/TPLCD_161B_Native.icm
LFS
Executable file
BIN
devices/pc/color/TPLCD_161B_Native.icm
LFS
Executable file
Binary file not shown.
BIN
devices/pc/color/TPLCD_161B_Native_HDR.icm
LFS
Executable file
BIN
devices/pc/color/TPLCD_161B_Native_HDR.icm
LFS
Executable file
Binary file not shown.
BIN
devices/pc/color/TPLCD_161B_REC709.icm
LFS
Executable file
BIN
devices/pc/color/TPLCD_161B_REC709.icm
LFS
Executable file
Binary file not shown.
BIN
devices/pc/color/TPLCD_161B_sRGB.icm
LFS
Executable file
BIN
devices/pc/color/TPLCD_161B_sRGB.icm
LFS
Executable file
Binary file not shown.
148
devices/pc/default.nix
Normal file
148
devices/pc/default.nix
Normal file
@@ -0,0 +1,148 @@
|
|||||||
|
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"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
nixpkgs =
|
||||||
|
{ march = "znver4"; cuda = { enable = true; capabilities = [ "8.9" ]; forwardCompat = false; }; };
|
||||||
|
kernel.patches = [ "cjktty" "lantian" ];
|
||||||
|
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" ]; };
|
||||||
|
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;
|
||||||
|
xray.client =
|
||||||
|
{
|
||||||
|
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; threads = 4; }; };
|
||||||
|
wireguard =
|
||||||
|
{
|
||||||
|
enable = true;
|
||||||
|
peers = [ "vps6" ];
|
||||||
|
publicKey = "l1gFSDCeBxyf/BipXNvoEvVvLqPgdil84nmr5q6+EEw=";
|
||||||
|
wireguardIp = "192.168.83.3";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
bugs = [ "xmunet" "backlight" "amdpstate" ];
|
||||||
|
};
|
||||||
|
# use plasma-x11 as default, instead of plasma-wayland
|
||||||
|
services.xserver.displayManager =
|
||||||
|
{
|
||||||
|
defaultSession = inputs.lib.mkForce "plasma";
|
||||||
|
setupCommands = "${inputs.pkgs.xcalib}/bin/xcalib -d :0 ${./color/TPLCD_161B_Default.icm}";
|
||||||
|
};
|
||||||
|
virtualisation.virtualbox.host = { enable = true; enableExtensionPack = true; };
|
||||||
|
hardware.nvidia.forceFullCompositionPipeline = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
81
devices/surface/default.nix
Normal file
81
devices/surface/default.nix
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
inputs:
|
||||||
|
{
|
||||||
|
imports = inputs.localLib.mkModules [ inputs.topInputs.nixos-hardware.nixosModules.microsoft-surface-pro-intel ];
|
||||||
|
config =
|
||||||
|
{
|
||||||
|
nixos =
|
||||||
|
{
|
||||||
|
system =
|
||||||
|
{
|
||||||
|
fileSystems =
|
||||||
|
{
|
||||||
|
mount =
|
||||||
|
{
|
||||||
|
vfat."/dev/disk/by-uuid/7179-9C69" = "/boot/efi";
|
||||||
|
btrfs =
|
||||||
|
{
|
||||||
|
"/dev/disk/by-uuid/c6d35075-85fe-4129-aaa8-f436ab85ce43"."/boot" = "/boot";
|
||||||
|
"/dev/mapper/root" = { "/nix" = "/nix"; "/nix/rootfs/current" = "/"; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
decrypt.auto =
|
||||||
|
{
|
||||||
|
"/dev/disk/by-uuid/4f7420f9-ea19-4713-b084-2ac8f0a963ac" = { mapper = "root"; ssd = true; };
|
||||||
|
"/dev/disk/by-uuid/88bd9d44-928b-40a2-8f3d-6dcd257c4601" =
|
||||||
|
{ mapper = "swap"; ssd = true; before = [ "root" ]; };
|
||||||
|
};
|
||||||
|
swap = [ "/dev/mapper/swap" ];
|
||||||
|
resume = "/dev/mapper/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" "lantian" ];
|
||||||
|
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; waydroid.enable = true; };
|
||||||
|
services =
|
||||||
|
{
|
||||||
|
snapper.enable = true;
|
||||||
|
fontconfig.enable = true;
|
||||||
|
sshd.enable = true;
|
||||||
|
xray.client =
|
||||||
|
{
|
||||||
|
enable = true;
|
||||||
|
serverAddress = "74.211.99.69";
|
||||||
|
serverName = "vps6.xserver.chn.moe";
|
||||||
|
dns.extraInterfaces = [ "docker0" ];
|
||||||
|
};
|
||||||
|
firewall.trustedInterfaces = [ "virbr0" ];
|
||||||
|
};
|
||||||
|
bugs = [ "xmunet" ];
|
||||||
|
};
|
||||||
|
boot.kernelPackages =
|
||||||
|
let
|
||||||
|
originalKernel = inputs.pkgs.linuxPackages_xanmod_latest.kernel;
|
||||||
|
version = originalKernel.version;
|
||||||
|
majorVersion =
|
||||||
|
let versionArray = builtins.splitVersion version;
|
||||||
|
in "${builtins.elemAt versionArray 0}.${builtins.elemAt versionArray 1}";
|
||||||
|
repoFile = "${inputs.topInputs.nixos-hardware}/microsoft/surface/common/kernel/linux-package.nix";
|
||||||
|
inherit (inputs.pkgs.callPackage repoFile {}) repos;
|
||||||
|
patchDir = repos.linux-surface + "/patches/${majorVersion}";
|
||||||
|
patchFile = "${inputs.topInputs.nixos-hardware}/microsoft/surface/common/kernel/linux-6.6.x/patches.nix";
|
||||||
|
kernelPatches = inputs.pkgs.callPackage patchFile { inherit (inputs.lib) kernel; inherit version patchDir; };
|
||||||
|
in
|
||||||
|
inputs.lib.mkForce (inputs.pkgs.linuxPackagesFor (originalKernel.override
|
||||||
|
(prev: { kernelPatches = prev.kernelPatches ++ kernelPatches; })));
|
||||||
|
environment.systemPackages = with inputs.pkgs; [ maliit-keyboard maliit-framework ];
|
||||||
|
};
|
||||||
|
}
|
||||||
83
devices/vps6/default.nix
Normal file
83
devices/vps6/default.nix
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
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;
|
||||||
|
networking.hostname = "vps6";
|
||||||
|
};
|
||||||
|
packages.packageSet = "server";
|
||||||
|
services =
|
||||||
|
{
|
||||||
|
snapper.enable = true;
|
||||||
|
sshd.enable = true;
|
||||||
|
xray.server = { 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";
|
||||||
|
listenIp = "74.211.99.69";
|
||||||
|
lighthouse = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
76
devices/vps7/default.nix
Normal file
76
devices/vps7/default.nix
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
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;
|
||||||
|
networking.hostname = "vps7";
|
||||||
|
};
|
||||||
|
packages.packageSet = "server";
|
||||||
|
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; };
|
||||||
|
};
|
||||||
|
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;
|
||||||
|
gitea.enable = true;
|
||||||
|
grafana.enable = true;
|
||||||
|
fail2ban.enable = true;
|
||||||
|
wireguard =
|
||||||
|
{
|
||||||
|
enable = true;
|
||||||
|
peers = [ "vps6" ];
|
||||||
|
publicKey = "n056ppNxC9oECcW7wEbALnw8GeW7nrMImtexKWYVUBk=";
|
||||||
|
wireguardIp = "192.168.83.2";
|
||||||
|
listenIp = "95.111.228.40";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
99
devices/xmupc1/default.nix
Normal file
99
devices/xmupc1/default.nix
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
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" ];
|
||||||
|
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;
|
||||||
|
xray.client =
|
||||||
|
{
|
||||||
|
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" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
780
flake.lock
generated
780
flake.lock
generated
File diff suppressed because it is too large
Load Diff
606
flake.nix
606
flake.nix
@@ -4,7 +4,7 @@
|
|||||||
inputs =
|
inputs =
|
||||||
{
|
{
|
||||||
nixpkgs.url = "github:CHN-beta/nixpkgs/nixos-23.11";
|
nixpkgs.url = "github:CHN-beta/nixpkgs/nixos-23.11";
|
||||||
nixpkgs-unstable.url = "github:CHN-beta/nixpkgs/nixos-unstable";
|
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
nixpkgs-2305.url = "github:CHN-beta/nixpkgs/nixos-23.05";
|
nixpkgs-2305.url = "github:CHN-beta/nixpkgs/nixos-23.05";
|
||||||
home-manager = { url = "github:nix-community/home-manager/release-23.11"; inputs.nixpkgs.follows = "nixpkgs"; };
|
home-manager = { url = "github:nix-community/home-manager/release-23.11"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||||
sops-nix =
|
sops-nix =
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
inputs = { nixpkgs.follows = "nixpkgs"; nixpkgs-stable.follows = "nixpkgs"; };
|
inputs = { nixpkgs.follows = "nixpkgs"; nixpkgs-stable.follows = "nixpkgs"; };
|
||||||
};
|
};
|
||||||
aagl = { url = "github:ezKEa/aagl-gtk-on-nix"; inputs.nixpkgs.follows = "nixpkgs"; };
|
aagl = { url = "github:ezKEa/aagl-gtk-on-nix"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||||
nix-index-database = { url = "github:Mic92/nix-index-database"; inputs.nixpkgs.follows = "nixpkgs"; };
|
nix-index-database = { url = "github:Mic92/nix-index-database"; inputs.nixpkgs.follows = "nixpkgs-unstable"; };
|
||||||
nur.url = "github:nix-community/NUR";
|
nur.url = "github:nix-community/NUR";
|
||||||
nixos-cn = { url = "github:nixos-cn/flakes"; inputs.nixpkgs.follows = "nixpkgs"; };
|
nixos-cn = { url = "github:nixos-cn/flakes"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||||
nur-xddxdd = { url = "github:xddxdd/nur-packages"; inputs.nixpkgs.follows = "nixpkgs"; };
|
nur-xddxdd = { url = "github:xddxdd/nur-packages"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||||
@@ -24,13 +24,15 @@
|
|||||||
inputs = { nixpkgs.follows = "nixpkgs"; nix-index-database.follows = "nix-index-database"; };
|
inputs = { nixpkgs.follows = "nixpkgs"; nix-index-database.follows = "nix-index-database"; };
|
||||||
};
|
};
|
||||||
impermanence.url = "github:nix-community/impermanence";
|
impermanence.url = "github:nix-community/impermanence";
|
||||||
qchem = { url = "github:Nix-QChem/NixOS-QChem"; inputs.nixpkgs.follows = "nixpkgs"; };
|
qchem = { url = "github:Nix-QChem/NixOS-QChem/release-23.11"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||||
nixd = { url = "github:nix-community/nixd"; inputs.nixpkgs.follows = "nixpkgs"; };
|
nixd = { url = "github:nix-community/nixd"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||||
napalm = { url = "github:nix-community/napalm"; inputs.nixpkgs.follows = "nixpkgs"; };
|
napalm = { url = "github:nix-community/napalm"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||||
nixpak = { url = "github:nixpak/nixpak"; inputs.nixpkgs.follows = "nixpkgs"; };
|
nixpak = { url = "github:nixpak/nixpak"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||||
deploy-rs = { url = "github:serokell/deploy-rs"; inputs.nixpkgs.follows = "nixpkgs"; };
|
deploy-rs = { url = "github:serokell/deploy-rs"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||||
pnpm2nix-nzbr = { url = "github:CHN-beta/pnpm2nix-nzbr"; inputs.nixpkgs.follows = "nixpkgs"; };
|
pnpm2nix-nzbr = { url = "github:CHN-beta/pnpm2nix-nzbr"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||||
|
# oneapi
|
||||||
lmix = { url = "github:CHN-beta/lmix"; inputs.nixpkgs.follows = "nixpkgs"; };
|
lmix = { url = "github:CHN-beta/lmix"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||||
|
# nvhpc
|
||||||
dguibert-nur-packages = { url = "github:CHN-beta/dguibert-nur-packages"; inputs.nixpkgs.follows = "nixpkgs"; };
|
dguibert-nur-packages = { url = "github:CHN-beta/dguibert-nur-packages"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||||
plasma-manager =
|
plasma-manager =
|
||||||
{
|
{
|
||||||
@@ -38,6 +40,23 @@
|
|||||||
inputs = { nixpkgs.follows = "nixpkgs"; home-manager.follows = "home-manager"; };
|
inputs = { nixpkgs.follows = "nixpkgs"; home-manager.follows = "home-manager"; };
|
||||||
};
|
};
|
||||||
nix-doom-emacs = { url = "github:nix-community/nix-doom-emacs"; inputs.nixpkgs.follows = "nixpkgs"; };
|
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"; };
|
||||||
|
nixos-hardware.url = "github:NixOS/nixos-hardware";
|
||||||
|
envfs = { url = "github:Mic92/envfs"; inputs.nixpkgs.follows = "nixpkgs"; };
|
||||||
|
|
||||||
|
misskey = { url = "git+https://github.com/CHN-beta/misskey?submodules=1"; flake = false; };
|
||||||
|
rsshub = { url = "github:DIYgod/RSSHub"; flake = false; };
|
||||||
|
zpp-bits = { url = "github:eyalz800/zpp_bits"; flake = false; };
|
||||||
|
citation-style-language = { url = "git+https://github.com/zepinglee/citeproc-lua?submodules=1"; flake = false; };
|
||||||
|
concurrencpp = { url = "github:David-Haim/concurrencpp"; flake = false; };
|
||||||
|
cppcoro = { url = "github:Garcia6l20/cppcoro"; flake = false; };
|
||||||
|
date = { url = "github:HowardHinnant/date"; flake = false; };
|
||||||
|
eigen = { url = "gitlab:libeigen/eigen"; flake = false; };
|
||||||
|
matplotplusplus = { url = "github:alandefreitas/matplotplusplus"; flake = false; };
|
||||||
|
nameof = { url = "github:Neargye/nameof"; flake = false; };
|
||||||
|
nodesoup = { url = "github:olvb/nodesoup"; flake = false; };
|
||||||
|
tgbot-cpp = { url = "github:reo7sp/tgbot-cpp"; flake = false; };
|
||||||
|
v-sim = { url = "gitlab:l_sim/v_sim"; flake = false; };
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs:
|
outputs = inputs:
|
||||||
@@ -50,7 +69,7 @@
|
|||||||
default = inputs.nixpkgs.legacyPackages.x86_64-linux.writeText "systems"
|
default = inputs.nixpkgs.legacyPackages.x86_64-linux.writeText "systems"
|
||||||
(builtins.concatStringsSep "\n" (builtins.map
|
(builtins.concatStringsSep "\n" (builtins.map
|
||||||
(system: builtins.toString inputs.self.outputs.nixosConfigurations.${system}.config.system.build.toplevel)
|
(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
|
builtins.listToAttrs (builtins.map
|
||||||
@@ -59,570 +78,32 @@
|
|||||||
name = system;
|
name = system;
|
||||||
value = inputs.self.outputs.nixosConfigurations.${system}.config.system.build.toplevel;
|
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 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
|
# 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
|
# systemd-machine-id-setup --root=/mnt/nix/persistent
|
||||||
nixosConfigurations =
|
nixosConfigurations = builtins.listToAttrs (builtins.map
|
||||||
let
|
(system:
|
||||||
system =
|
{
|
||||||
|
name = system;
|
||||||
|
value = inputs.nixpkgs.lib.nixosSystem
|
||||||
{
|
{
|
||||||
pc =
|
system = "x86_64-linux";
|
||||||
{
|
specialArgs = { topInputs = inputs; inherit localLib; };
|
||||||
system =
|
modules = localLib.mkModules
|
||||||
|
[
|
||||||
|
(moduleInputs:
|
||||||
{
|
{
|
||||||
fileSystems =
|
config.nixpkgs.overlays = [(final: prev: { localPackages =
|
||||||
{
|
import ./local/pkgs { inherit (moduleInputs) lib; pkgs = final; topInputs = inputs; };})];
|
||||||
mount =
|
})
|
||||||
{
|
./modules
|
||||||
vfat."/dev/disk/by-uuid/3F57-0EBE" = "/boot/efi";
|
./devices/${system}
|
||||||
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"
|
|
||||||
"znver4"
|
|
||||||
];
|
|
||||||
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" ];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
in builtins.listToAttrs (builtins.map
|
})
|
||||||
(system:
|
[ "pc" "vps6" "vps7" "nas" "surface" "xmupc1" ]);
|
||||||
{
|
|
||||||
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));
|
|
||||||
# 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
|
# 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-serve -p 5000
|
||||||
# nix copy --substitute-on-destination --to ssh://server /run/current-system
|
# nix copy --substitute-on-destination --to ssh://server /run/current-system
|
||||||
@@ -658,10 +139,11 @@
|
|||||||
inputs.self.nixosConfigurations.${node};
|
inputs.self.nixosConfigurations.${node};
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
[ "vps6" "vps7" "nas" "yoga" ]);
|
[ "vps6" "vps7" "nas" "surface" ]);
|
||||||
};
|
};
|
||||||
checks = builtins.mapAttrs (system: deployLib: deployLib.deployChecks inputs.self.deploy) inputs.deploy-rs.lib;
|
checks = builtins.mapAttrs (system: deployLib: deployLib.deployChecks inputs.self.deploy) inputs.deploy-rs.lib;
|
||||||
overlays.default = final: prev:
|
overlays.default = final: prev:
|
||||||
{ localPackages = (import ./local/pkgs { inherit (inputs) lib; pkgs = final; }); };
|
{ localPackages = (import ./local/pkgs { inherit (inputs) lib; pkgs = final; }); };
|
||||||
|
config.archive = false;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,22 +1,14 @@
|
|||||||
{ stdenvNoCC, texlive, fetchFromGitHub }: stdenvNoCC.mkDerivation (finalAttrs: rec
|
{ stdenvNoCC, texlive, src }: stdenvNoCC.mkDerivation (finalAttrs:
|
||||||
{
|
{
|
||||||
pname = "citation-style-language";
|
name = "citation-style-language";
|
||||||
version = "0.4.5";
|
inherit src;
|
||||||
passthru = {
|
passthru =
|
||||||
|
{
|
||||||
pkgs = [ finalAttrs.finalPackage ];
|
pkgs = [ finalAttrs.finalPackage ];
|
||||||
tlDeps = with texlive; [ latex ];
|
tlDeps = with texlive; [ latex ];
|
||||||
tlType = "run";
|
tlType = "run";
|
||||||
};
|
};
|
||||||
|
|
||||||
src = fetchFromGitHub
|
|
||||||
{
|
|
||||||
owner = "zepinglee";
|
|
||||||
repo = "citeproc-lua";
|
|
||||||
rev = "v${version}";
|
|
||||||
sha256 = "XH+GH+t/10hr4bfaod8F9JPxmBnAQlDmpSvQNDQsslM=";
|
|
||||||
fetchSubmodules = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [ texlive.combined.scheme-full ];
|
nativeBuildInputs = [ texlive.combined.scheme-full ];
|
||||||
dontConfigure = true;
|
dontConfigure = true;
|
||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
|
|||||||
@@ -1,13 +1,6 @@
|
|||||||
{ stdenv, fetchFromGitHub, cmake }: stdenv.mkDerivation rec
|
{ stdenv, cmake, src }: stdenv.mkDerivation
|
||||||
{
|
{
|
||||||
pname = "concurrencpp";
|
name = "concurrencpp";
|
||||||
version = "0.1.7";
|
inherit src;
|
||||||
src = fetchFromGitHub
|
|
||||||
{
|
|
||||||
owner = "David-Haim";
|
|
||||||
repo = "concurrencpp";
|
|
||||||
rev = "v.${version}";
|
|
||||||
sha256 = "4qT29YVjKEWcMrI5R5Ps8aD4grAAgz5VOxANjpp1oTo=";
|
|
||||||
};
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,7 @@
|
|||||||
{ stdenv, fetchFromGitHub, cmake }: stdenv.mkDerivation
|
{ stdenv, cmake, src }: stdenv.mkDerivation
|
||||||
{
|
{
|
||||||
name = "cppcoro";
|
name = "cppcoro";
|
||||||
src = fetchFromGitHub
|
inherit src;
|
||||||
{
|
|
||||||
owner = "Garcia6l20";
|
|
||||||
repo = "cppcoro";
|
|
||||||
rev = "e1d53e620b0eee828915ada179cd7ca8e66ca855";
|
|
||||||
sha256 = "luBkf1x5kqXaVbQM01yWRmA5QvrQNZkFVCjRctJdnXc=";
|
|
||||||
};
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
patches = [ ./cppcoro-include-utility.patch ];
|
patches = [ ./cppcoro-include-utility.patch ];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,18 +1,13 @@
|
|||||||
{ stdenv, fetchFromGitHub }: stdenv.mkDerivation
|
{ stdenv, src }: stdenv.mkDerivation
|
||||||
{
|
{
|
||||||
name = "date";
|
name = "date";
|
||||||
src = fetchFromGitHub
|
inherit src;
|
||||||
{
|
|
||||||
owner = "HowardHinnant";
|
|
||||||
repo = "date";
|
|
||||||
rev = "cc4685a21e4a4fdae707ad1233c61bbaff241f93";
|
|
||||||
sha256 = "KilhBEeLMvHtS76Gu0UhzE8lhS1+sCwQ1UL4pswKXTs=";
|
|
||||||
};
|
|
||||||
phases = [ "installPhase" ];
|
phases = [ "installPhase" ];
|
||||||
installPhase =
|
installPhase =
|
||||||
''
|
''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
cp -r $src/{include,src} $out
|
cp -r $src/{include,src} $out
|
||||||
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
{ lib, pkgs }: with pkgs; rec
|
{ lib, pkgs, topInputs }: with pkgs; rec
|
||||||
{
|
{
|
||||||
typora = callPackage ./typora {};
|
typora = callPackage ./typora {};
|
||||||
vesta = callPackage ./vesta {};
|
vesta = callPackage ./vesta {};
|
||||||
oneapi = callPackage ./oneapi {};
|
oneapi = callPackage ./oneapi {};
|
||||||
rsshub = callPackage ./rsshub {};
|
rsshub = callPackage ./rsshub { src = topInputs.rsshub; };
|
||||||
misskey = callPackage ./misskey { nodejs = nodejs_21; };
|
misskey = callPackage ./misskey { nodejs = nodejs_21; src = topInputs.misskey; };
|
||||||
mk-meili-mgn = callPackage ./mk-meili-mgn {};
|
mk-meili-mgn = callPackage ./mk-meili-mgn {};
|
||||||
# vasp = callPackage ./vasp
|
# vasp = callPackage ./vasp
|
||||||
# {
|
# {
|
||||||
@@ -18,28 +18,28 @@
|
|||||||
openmpi = pkgs.openmpi.override { cudaSupport = false; };
|
openmpi = pkgs.openmpi.override { cudaSupport = false; };
|
||||||
};
|
};
|
||||||
vaspkit = callPackage ./vaspkit { attrsToList = (import ../lib lib).attrsToList; };
|
vaspkit = callPackage ./vaspkit { attrsToList = (import ../lib lib).attrsToList; };
|
||||||
v_sim = callPackage ./v_sim {};
|
v-sim = callPackage ./v-sim { src = topInputs.v-sim; };
|
||||||
concurrencpp = callPackage ./concurrencpp { stdenv = gcc13Stdenv; };
|
concurrencpp = callPackage ./concurrencpp { stdenv = gcc13Stdenv; src = topInputs.concurrencpp; };
|
||||||
eigengdb = python3Packages.callPackage ./eigengdb {};
|
eigengdb = python3Packages.callPackage ./eigengdb {};
|
||||||
nodesoup = callPackage ./nodesoup {};
|
nodesoup = callPackage ./nodesoup { src = topInputs.nodesoup; };
|
||||||
matplotplusplus = callPackage ./matplotplusplus { inherit nodesoup glad; };
|
matplotplusplus = callPackage ./matplotplusplus { inherit nodesoup glad; src = topInputs.matplotplusplus; };
|
||||||
zpp-bits = callPackage ./zpp-bits {};
|
zpp-bits = callPackage ./zpp-bits { src = topInputs.zpp-bits; };
|
||||||
eigen = callPackage ./eigen {};
|
eigen = callPackage ./eigen { src = topInputs.eigen; };
|
||||||
nameof = callPackage ./nameof {};
|
nameof = callPackage ./nameof { src = topInputs.nameof; };
|
||||||
pslist = callPackage ./pslist {};
|
pslist = callPackage ./pslist {};
|
||||||
glad = callPackage ./glad {};
|
glad = callPackage ./glad {};
|
||||||
chromiumos-touch-keyboard = callPackage ./chromiumos-touch-keyboard {};
|
chromiumos-touch-keyboard = callPackage ./chromiumos-touch-keyboard {};
|
||||||
yoga-support = callPackage ./yoga-support {};
|
yoga-support = callPackage ./yoga-support {};
|
||||||
tgbot-cpp = callPackage ./tgbot-cpp {};
|
tgbot-cpp = callPackage ./tgbot-cpp { src = topInputs.tgbot-cpp; };
|
||||||
biu = callPackage ./biu { inherit concurrencpp tgbot-cpp nameof; stdenv = gcc13Stdenv; };
|
biu = callPackage ./biu { inherit concurrencpp tgbot-cpp nameof; stdenv = gcc13Stdenv; };
|
||||||
citation-style-language = callPackage ./citation-style-language {};
|
citation-style-language = callPackage ./citation-style-language { src = topInputs.citation-style-language; };
|
||||||
mirism = callPackage ./mirism
|
mirism = callPackage ./mirism
|
||||||
{
|
{
|
||||||
inherit cppcoro nameof tgbot-cpp date;
|
inherit cppcoro nameof tgbot-cpp date;
|
||||||
nghttp2 = nghttp2-2305.override { enableAsioLib = true; };
|
nghttp2 = nghttp2-2305.override { enableAsioLib = true; };
|
||||||
};
|
};
|
||||||
cppcoro = callPackage ./cppcoro {};
|
cppcoro = callPackage ./cppcoro { src = topInputs.cppcoro; };
|
||||||
date = callPackage ./date {};
|
date = callPackage ./date { src = topInputs.date; };
|
||||||
esbonio = python3Packages.callPackage ./esbonio {};
|
esbonio = python3Packages.callPackage ./esbonio {};
|
||||||
pix2tex = python3Packages.callPackage ./pix2tex {};
|
pix2tex = python3Packages.callPackage ./pix2tex {};
|
||||||
pyreadline3 = python3Packages.callPackage ./pyreadline3 {};
|
pyreadline3 = python3Packages.callPackage ./pyreadline3 {};
|
||||||
|
|||||||
@@ -1,12 +1,6 @@
|
|||||||
{ lib, stdenv, fetchFromGitLab, cmake }: stdenv.mkDerivation rec
|
{ lib, stdenv, cmake, src }: stdenv.mkDerivation
|
||||||
{
|
{
|
||||||
name = "eigen";
|
name = "eigen";
|
||||||
src = fetchFromGitLab
|
inherit src;
|
||||||
{
|
|
||||||
owner = "libeigen";
|
|
||||||
repo = name;
|
|
||||||
rev = "6d829e766ff1b1ab867d93631163cbc63ed5798f";
|
|
||||||
sha256 = "BXUnizcRPrOyiPpoyYJ4VVOjlG49aj80mgzPKmEYPKU=";
|
|
||||||
};
|
|
||||||
nativeBuildInputs = [ cmake ];
|
nativeBuildInputs = [ cmake ];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
{ lib, fetchPypi, buildPythonPackage }: buildPythonPackage rec
|
{ lib, fetchPypi, buildPythonPackage }: buildPythonPackage rec
|
||||||
{
|
{
|
||||||
pname = "esbonio";
|
pname = "esbonio";
|
||||||
version = "0.16.3";
|
version = "0.16.4";
|
||||||
src = fetchPypi
|
src = fetchPypi
|
||||||
{
|
{
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "1ggxdzl95fy0zxpyd1pcylhif1x604wk4wy7sv9322hc84b708zx";
|
sha256 = "1MBNBLCEBD6HtlxEASc4iZaXYyNdih2MIHoxK84jMdI=";
|
||||||
};
|
};
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,17 +1,10 @@
|
|||||||
{
|
{
|
||||||
stdenv, fetchFromGitHub, cmake, pkg-config, substituteAll,
|
stdenv, src, cmake, pkg-config, substituteAll,
|
||||||
gnuplot, libjpeg, libtiff, zlib, libpng, lapack, blas, fftw, opencv, nodesoup, cimg, glfw, libGL, python3, glad
|
gnuplot, libjpeg, libtiff, zlib, libpng, lapack, blas, fftw, opencv, nodesoup, cimg, glfw, libGL, python3, glad
|
||||||
}: stdenv.mkDerivation
|
}: stdenv.mkDerivation
|
||||||
{
|
{
|
||||||
pname = "matplotplusplus";
|
name = "matplotplusplus";
|
||||||
version = "1.2.0";
|
inherit src;
|
||||||
src = fetchFromGitHub
|
|
||||||
{
|
|
||||||
owner = "alandefreitas";
|
|
||||||
repo = "matplotplusplus";
|
|
||||||
rev = "a40344efa9dc5ea0c312e6e9ef4eb7238d98dc12";
|
|
||||||
sha256 = "6/dH/Rl2aAb8b+Ji5LwzkC+GWPOCBnYCrjy0qk8u/+I=";
|
|
||||||
};
|
|
||||||
cmakeFlags =
|
cmakeFlags =
|
||||||
[
|
[
|
||||||
"-DBUILD_SHARED_LIBS=ON" "-DMATPLOTPP_BUILD_SHARED_LIBS=ON" "-DMATPLOTPP_BUILD_EXAMPLES=OFF"
|
"-DBUILD_SHARED_LIBS=ON" "-DMATPLOTPP_BUILD_SHARED_LIBS=ON" "-DMATPLOTPP_BUILD_EXAMPLES=OFF"
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
src = requireFile
|
src = requireFile
|
||||||
{
|
{
|
||||||
inherit name;
|
inherit name;
|
||||||
sha256 = "1q3f4q4ln9dz68dfc35jybgv861f7acqiiykkm7jxviz8jdgn8c7";
|
sha256 = "0f50pvdafhlmrlbf341mkp9q50v4ld5pbx92d2w1633f18zghbzf";
|
||||||
hashMode = "recursive";
|
hashMode = "recursive";
|
||||||
message = "Source file not found.";
|
message = "Source file not found.";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,21 +1,12 @@
|
|||||||
{
|
{
|
||||||
lib, stdenv, mkPnpmPackage, fetchFromGitHub, fetchurl, nodejs, writeShellScript, buildFHSEnv,
|
lib, stdenv, mkPnpmPackage, fetchurl, nodejs, writeShellScript, buildFHSEnv,
|
||||||
bash, cypress, vips, pkg-config
|
bash, cypress, vips, pkg-config, src
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
pname = "misskey";
|
name = "misskey";
|
||||||
version = "2023.12.2";
|
|
||||||
src = fetchFromGitHub
|
|
||||||
{
|
|
||||||
owner = "CHN-beta";
|
|
||||||
repo = "misskey";
|
|
||||||
rev = "cd1d0ab06eb6b7e06afdfae9a12b2d2829564229";
|
|
||||||
hash = "sha256-sKEZ1ZpyA/02CNwiOMIOS5f/csx6ELDwCVJYc+oMChM=";
|
|
||||||
fetchSubmodules = true;
|
|
||||||
};
|
|
||||||
originalPnpmPackage = mkPnpmPackage
|
originalPnpmPackage = mkPnpmPackage
|
||||||
{
|
{
|
||||||
inherit pname version src nodejs;
|
inherit name src nodejs;
|
||||||
copyPnpmStore = true;
|
copyPnpmStore = true;
|
||||||
};
|
};
|
||||||
startScript = writeShellScript "misskey"
|
startScript = writeShellScript "misskey"
|
||||||
@@ -28,7 +19,7 @@ let
|
|||||||
in
|
in
|
||||||
stdenv.mkDerivation rec
|
stdenv.mkDerivation rec
|
||||||
{
|
{
|
||||||
inherit version src pname;
|
inherit src name;
|
||||||
buildInputs =
|
buildInputs =
|
||||||
[
|
[
|
||||||
bash nodejs nodejs.pkgs.typescript nodejs.pkgs.pnpm nodejs.pkgs.gulp cypress vips pkg-config
|
bash nodejs nodejs.pkgs.typescript nodejs.pkgs.pnpm nodejs.pkgs.gulp cypress vips pkg-config
|
||||||
|
|||||||
@@ -1,14 +1,7 @@
|
|||||||
{ lib, stdenv, fetchFromGitHub }: stdenv.mkDerivation rec
|
{ lib, stdenv, src }: stdenv.mkDerivation
|
||||||
{
|
{
|
||||||
pname = "nameof";
|
name = "nameof";
|
||||||
version = "0.10.3";
|
inherit src;
|
||||||
src = fetchFromGitHub
|
|
||||||
{
|
|
||||||
owner = "Neargye";
|
|
||||||
repo = pname;
|
|
||||||
rev = "v${version}";
|
|
||||||
sha256 = "eHG0Y/BQGbwTrBHjq9SeSiIXaVqWp7PxIq7vCIECYPk=";
|
|
||||||
};
|
|
||||||
phases = [ "installPhase" ];
|
phases = [ "installPhase" ];
|
||||||
installPhase =
|
installPhase =
|
||||||
''
|
''
|
||||||
|
|||||||
@@ -1,13 +1,7 @@
|
|||||||
{ stdenv, fetchFromGitHub, cmake, pkg-config, cairo, pcre2, xorg }: stdenv.mkDerivation rec
|
{ stdenv, src, cmake, pkg-config, cairo, pcre2, xorg }: stdenv.mkDerivation
|
||||||
{
|
{
|
||||||
name = "nodesoup";
|
name = "nodesoup";
|
||||||
src = fetchFromGitHub
|
inherit src;
|
||||||
{
|
|
||||||
owner = "olvb";
|
|
||||||
repo = "nodesoup";
|
|
||||||
rev = "3158ad082bb0cd1abee75418b12b35522dbca74f";
|
|
||||||
sha256 = "tFLq6QC3U3uvcuWsdRy2wnwcmAfH2MkI2oMcAiUBHSo=";
|
|
||||||
};
|
|
||||||
buildInputs = [ cairo pcre2.dev xorg.libXdmcp.dev ];
|
buildInputs = [ cairo pcre2.dev xorg.libXdmcp.dev ];
|
||||||
nativeBuildInputs = [ cmake pkg-config ];
|
nativeBuildInputs = [ cmake pkg-config ];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,9 @@
|
|||||||
{
|
{
|
||||||
lib, stdenv, mkPnpmPackage, fetchFromGitHub, nodejs, writeShellScript,
|
lib, stdenv, mkPnpmPackage, nodejs, writeShellScript,
|
||||||
chromium, bash
|
chromium, bash, src
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
name = "rsshub";
|
name = "rsshub";
|
||||||
src = fetchFromGitHub
|
|
||||||
{
|
|
||||||
owner = "DIYgod";
|
|
||||||
repo = "RSSHub";
|
|
||||||
rev = "38a5b0c193bf77d71c4eea33db6e76bc8b565d0b";
|
|
||||||
hash = "sha256-gJsT9W2fFiy2IG89E5th49DpBHsPMfsdONyzAKDG48c=";
|
|
||||||
};
|
|
||||||
originalPnpmPackage = mkPnpmPackage { inherit name src nodejs; };
|
originalPnpmPackage = mkPnpmPackage { inherit name src nodejs; };
|
||||||
nodeModules = originalPnpmPackage.nodeModules.overrideAttrs { PUPPETEER_SKIP_DOWNLOAD = true; };
|
nodeModules = originalPnpmPackage.nodeModules.overrideAttrs { PUPPETEER_SKIP_DOWNLOAD = true; };
|
||||||
rsshub-unwrapped = stdenv.mkDerivation
|
rsshub-unwrapped = stdenv.mkDerivation
|
||||||
|
|||||||
@@ -1,14 +1,7 @@
|
|||||||
{ stdenv, fetchFromGitHub, cmake, pkg-config, boost, openssl, zlib, curl }: stdenv.mkDerivation rec
|
{ stdenv, src, cmake, pkg-config, boost, openssl, zlib, curl }: stdenv.mkDerivation rec
|
||||||
{
|
{
|
||||||
pname = "tgbot-cpp";
|
name = "tgbot-cpp";
|
||||||
version = "1.7.2";
|
inherit src;
|
||||||
src = fetchFromGitHub
|
|
||||||
{
|
|
||||||
owner = "reo7sp";
|
|
||||||
repo = "tgbot-cpp";
|
|
||||||
rev = "v${version}";
|
|
||||||
sha256 = "TKirSxEUqFB1WtzNEfU4EJK3p7V5xcFIvA2+QVX7TlA=";
|
|
||||||
};
|
|
||||||
nativeBuildInputs = [ cmake pkg-config ];
|
nativeBuildInputs = [ cmake pkg-config ];
|
||||||
buildInputs = [ boost openssl zlib curl.dev ];
|
buildInputs = [ boost openssl zlib curl.dev ];
|
||||||
propagatedBuildInputs = buildInputs;
|
propagatedBuildInputs = buildInputs;
|
||||||
|
|||||||
@@ -3,11 +3,11 @@ let
|
|||||||
typora-dist = stdenv.mkDerivation rec
|
typora-dist = stdenv.mkDerivation rec
|
||||||
{
|
{
|
||||||
pname = "typora-dist";
|
pname = "typora-dist";
|
||||||
version = "1.7.6";
|
version = "1.8.2-dev";
|
||||||
src = fetchurl
|
src = fetchurl
|
||||||
{
|
{
|
||||||
url = "https://download.typora.io/linux/typora_${version}_amd64.deb";
|
url = "https://download.typora.io/linux/typora_${version}_amd64.deb";
|
||||||
sha256 = "19xgv83zk3mhniswwrb341sr9j4sb9pqy47jamrmkc3w8famxpd3";
|
sha256 = "0abi9m8h8k0228ajag26lxk756a7aqqixg608k85gnkdmibnq6mv";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontFixup = true;
|
dontFixup = true;
|
||||||
|
|||||||
@@ -1,19 +1,12 @@
|
|||||||
{
|
{
|
||||||
stdenv, lib, fetchFromGitLab,
|
stdenv, lib, src,
|
||||||
wrapGAppsHook, autoreconfHook, autoconf, libtool, intltool, gettext, automake, gtk-doc, pkg-config, gfortran, libxslt,
|
wrapGAppsHook, autoreconfHook, autoconf, libtool, intltool, gettext, automake, gtk-doc, pkg-config, gfortran, libxslt,
|
||||||
glib, gtk3, epoxy, libyaml
|
glib, gtk3, epoxy, libyaml
|
||||||
}:
|
}:
|
||||||
stdenv.mkDerivation
|
stdenv.mkDerivation
|
||||||
{
|
{
|
||||||
pname = "v_sim";
|
name = "v-sim";
|
||||||
version = "3.8.0_p20230824";
|
inherit src;
|
||||||
src = fetchFromGitLab
|
|
||||||
{
|
|
||||||
owner = "l_sim";
|
|
||||||
repo = "v_sim";
|
|
||||||
rev = "8abc67b56795c19a8e2357d442b556c71d2441cb";
|
|
||||||
sha256 = "KQNd3BGvkZVsfIPVLEEMBptiFQYeCbWGR28ds2Y+w2Y=";
|
|
||||||
};
|
|
||||||
buildInputs = [ glib gtk3 epoxy libyaml ];
|
buildInputs = [ glib gtk3 epoxy libyaml ];
|
||||||
nativeBuildInputs =
|
nativeBuildInputs =
|
||||||
[
|
[
|
||||||
@@ -1,14 +1,7 @@
|
|||||||
{ stdenv, fetchFromGitHub }: stdenv.mkDerivation rec
|
{ stdenv, src }: stdenv.mkDerivation
|
||||||
{
|
{
|
||||||
pname = "zpp-bits";
|
inherit src;
|
||||||
version = "4.4.19";
|
name = "zpp-bits";
|
||||||
src = fetchFromGitHub
|
|
||||||
{
|
|
||||||
owner = "eyalz800";
|
|
||||||
repo = "zpp_bits";
|
|
||||||
rev = "v${version}";
|
|
||||||
sha256 = "ejIwrvCFALuBQbQhTfzjBb11oMR/akKnboB60GWbjlQ=";
|
|
||||||
};
|
|
||||||
phases = [ "installPhase" ];
|
phases = [ "installPhase" ];
|
||||||
installPhase =
|
installPhase =
|
||||||
''
|
''
|
||||||
|
|||||||
@@ -79,6 +79,8 @@ inputs:
|
|||||||
};
|
};
|
||||||
firefox.programs.firefox.enable = inputs.lib.mkForce false;
|
firefox.programs.firefox.enable = inputs.lib.mkForce false;
|
||||||
power.boot.kernelParams = [ "cpufreq.default_governor=powersave" ];
|
power.boot.kernelParams = [ "cpufreq.default_governor=powersave" ];
|
||||||
|
backlight.boot.kernelParams = [ "nvidia.NVreg_RegistryDwords=EnableBrightnessControl=1" ];
|
||||||
|
amdpstate.boot.kernelParams = [ "amd_pstate=active" ];
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ inputs:
|
|||||||
{
|
{
|
||||||
nix-vscode-extensions = topInputs.nix-vscode-extensions.extensions."${prev.system}";
|
nix-vscode-extensions = topInputs.nix-vscode-extensions.extensions."${prev.system}";
|
||||||
nur-xddxdd = topInputs.nur-xddxdd.overlays.default final prev;
|
nur-xddxdd = topInputs.nur-xddxdd.overlays.default final prev;
|
||||||
|
nur-linyinfeng = (topInputs.nur-linyinfeng.overlays.default final prev).linyinfeng;
|
||||||
deploy-rs =
|
deploy-rs =
|
||||||
{ inherit (prev) deploy-rs; inherit ((topInputs.deploy-rs.overlay final prev).deploy-rs) lib; };
|
{ inherit (prev) deploy-rs; inherit ((topInputs.deploy-rs.overlay final prev).deploy-rs) lib; };
|
||||||
# needed by mirism
|
# needed by mirism
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
inputs:
|
inputs:
|
||||||
{
|
{
|
||||||
|
imports = inputs.localLib.mkModules [ ./legion.nix ];
|
||||||
options.nixos.hardware = let inherit (inputs.lib) mkOption types; in
|
options.nixos.hardware = let inherit (inputs.lib) mkOption types; in
|
||||||
{
|
{
|
||||||
bluetooth.enable = mkOption { type = types.bool; default = false; };
|
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
|
intel = [ intel-compute-runtime intel-media-driver libvdpau-va-gl ]; # intel-vaapi-driver
|
||||||
nvidia = [ vaapiVdpau ];
|
nvidia = [ vaapiVdpau ];
|
||||||
amd = [];
|
amd = [ amdvlk rocmPackages.clr rocmPackages.clr.icd ];
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
concatLists (map (gpu: packages.${gpu}) hardware.gpus);
|
concatLists (map (gpu: packages.${gpu}) hardware.gpus);
|
||||||
driSupport32Bit = true;
|
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
|
# prime
|
||||||
(
|
(
|
||||||
mkIf hardware.prime.enable
|
mkIf hardware.prime.enable
|
||||||
@@ -143,7 +152,6 @@ inputs:
|
|||||||
prime = listToAttrs
|
prime = listToAttrs
|
||||||
(map (gpu: { inherit (gpu) value; name = "${gpu.name}BusId"; }) (attrsToList hardware.prime.busId));
|
(map (gpu: { inherit (gpu) value; name = "${gpu.name}BusId"; }) (attrsToList hardware.prime.busId));
|
||||||
}
|
}
|
||||||
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
16
modules/hardware/legion.nix
Normal file
16
modules/hardware/legion.nix
Normal 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 ];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -17,7 +17,7 @@ inputs:
|
|||||||
_packages =
|
_packages =
|
||||||
[
|
[
|
||||||
# system management
|
# system management
|
||||||
etcher btrfs-assistant snapper-gui libsForQt5.qtstyleplugin-kvantum
|
etcher btrfs-assistant snapper-gui libsForQt5.qtstyleplugin-kvantum ventoy-full
|
||||||
# password and key management
|
# password and key management
|
||||||
yubikey-manager yubikey-manager-qt yubikey-personalization yubikey-personalization-gui bitwarden
|
yubikey-manager yubikey-manager-qt yubikey-personalization yubikey-personalization-gui bitwarden
|
||||||
# download
|
# download
|
||||||
@@ -25,7 +25,8 @@ inputs:
|
|||||||
# development
|
# development
|
||||||
scrcpy weston cage openbox krita
|
scrcpy weston cage openbox krita
|
||||||
# media
|
# media
|
||||||
spotify yesplaymusic simplescreenrecorder imagemagick gimp netease-cloud-music-gtk vlc
|
spotify yesplaymusic simplescreenrecorder imagemagick gimp netease-cloud-music-gtk vlc obs-studio
|
||||||
|
waifu2x-converter-cpp inkscape blender
|
||||||
# editor
|
# editor
|
||||||
localPackages.typora
|
localPackages.typora
|
||||||
# themes
|
# themes
|
||||||
@@ -33,13 +34,17 @@ inputs:
|
|||||||
# news
|
# news
|
||||||
fluent-reader
|
fluent-reader
|
||||||
# nix tools
|
# nix tools
|
||||||
deploy-rs.deploy-rs nixpkgs-fmt
|
deploy-rs.deploy-rs nixpkgs-fmt appimage-run nixd nix-serve node2nix nix-prefetch-github prefetch-npm-deps
|
||||||
|
nix-prefetch-docker
|
||||||
# instant messager
|
# instant messager
|
||||||
element-desktop telegram-desktop discord fluffychat
|
element-desktop telegram-desktop discord fluffychat zoom-us signal-desktop slack nur-linyinfeng.wemeet
|
||||||
# browser
|
# browser
|
||||||
google-chrome
|
google-chrome
|
||||||
# office
|
# office
|
||||||
crow-translate zotero pandoc ydict
|
crow-translate zotero pandoc ydict libreoffice-qt texstudio poppler_utils pdftk gnuplot pdfchain hdfview
|
||||||
|
(texlive.combine { inherit (texlive) scheme-full; inherit (localPackages) citation-style-language; })
|
||||||
|
# math, physics and chemistry
|
||||||
|
octaveFull root ovito localPackages.vesta localPackages.vaspkit localPackages.v-sim
|
||||||
] ++ (with inputs.lib; filter isDerivation (attrValues plasma5Packages.kdeGear));
|
] ++ (with inputs.lib; filter isDerivation (attrValues plasma5Packages.kdeGear));
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -11,15 +11,26 @@ inputs:
|
|||||||
packages._packages = with inputs.pkgs;
|
packages._packages = with inputs.pkgs;
|
||||||
[
|
[
|
||||||
# system management
|
# system management
|
||||||
gparted wl-clipboard-x11 kio-fuse
|
gparted kio-fuse wayland-utils clinfo glxinfo vulkan-tools dracut
|
||||||
wayland-utils clinfo glxinfo vulkan-tools dracut
|
(
|
||||||
|
writeShellScriptBin "xclip"
|
||||||
|
''
|
||||||
|
#!${bash}/bin/bash
|
||||||
|
if [ "$XDG_SESSION_TYPE" = "x11" ]; then
|
||||||
|
exec ${xclip}/bin/xclip "$@"
|
||||||
|
else
|
||||||
|
exec ${wl-clipboard-x11}/bin/xclip "$@"
|
||||||
|
fi
|
||||||
|
''
|
||||||
|
)
|
||||||
|
# color management
|
||||||
|
argyllcms xcalib
|
||||||
# networking
|
# networking
|
||||||
remmina putty mtr-gui
|
remmina putty mtr-gui
|
||||||
# media
|
# media
|
||||||
mpv nomacs
|
mpv nomacs
|
||||||
# themes
|
# themes
|
||||||
tela-circle-icon-theme
|
tela-circle-icon-theme
|
||||||
firefoxpwa
|
|
||||||
];
|
];
|
||||||
users.sharedModules =
|
users.sharedModules =
|
||||||
[{
|
[{
|
||||||
@@ -34,12 +45,7 @@ inputs:
|
|||||||
{
|
{
|
||||||
adb.enable = true;
|
adb.enable = true;
|
||||||
wireshark = { enable = true; package = inputs.pkgs.wireshark; };
|
wireshark = { enable = true; package = inputs.pkgs.wireshark; };
|
||||||
firefox =
|
firefox = { enable = true; languagePacks = [ "zh-CN" "en-US" ]; };
|
||||||
{
|
|
||||||
enable = true;
|
|
||||||
languagePacks = [ "zh-CN" "en-US" ];
|
|
||||||
nativeMessagingHosts.packages = [ inputs.pkgs.firefoxpwa ];
|
|
||||||
};
|
|
||||||
vim.package = inputs.pkgs.vim-full;
|
vim.package = inputs.pkgs.vim-full;
|
||||||
};
|
};
|
||||||
nixpkgs.config.packageOverrides = pkgs:
|
nixpkgs.config.packageOverrides = pkgs:
|
||||||
|
|||||||
@@ -44,6 +44,8 @@ inputs:
|
|||||||
lextudio.restructuredtext trond-snekvik.simple-rst
|
lextudio.restructuredtext trond-snekvik.simple-rst
|
||||||
# markdown
|
# markdown
|
||||||
shd101wyy.markdown-preview-enhanced
|
shd101wyy.markdown-preview-enhanced
|
||||||
|
# vasp
|
||||||
|
mystery.vasp-support
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
)];
|
)];
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ inputs:
|
|||||||
beep dos2unix gnugrep pv tmux screen parallel tldr cowsay jq zellij neofetch ipfetch localPackages.pslist
|
beep dos2unix gnugrep pv tmux screen parallel tldr cowsay jq zellij neofetch ipfetch localPackages.pslist
|
||||||
fastfetch reptyr
|
fastfetch reptyr
|
||||||
# lsxx
|
# lsxx
|
||||||
pciutils usbutils lshw util-linux lsof
|
pciutils usbutils lshw util-linux lsof dmidecode
|
||||||
# top
|
# top
|
||||||
iotop iftop htop btop powertop s-tui
|
iotop iftop htop btop powertop s-tui
|
||||||
# editor
|
# editor
|
||||||
|
|||||||
@@ -41,6 +41,11 @@ inputs:
|
|||||||
ed25519 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAoMu0HEaFQsnlJL0L6isnkNZdRq0OiDXyaX3+fl3NjT";
|
ed25519 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAoMu0HEaFQsnlJL0L6isnkNZdRq0OiDXyaX3+fl3NjT";
|
||||||
hostnames = [ "initrd.nas.chn.moe" "[office.chn.moe]:5440" "192.168.1.185" ];
|
hostnames = [ "initrd.nas.chn.moe" "[office.chn.moe]:5440" "192.168.1.185" ];
|
||||||
};
|
};
|
||||||
|
surface =
|
||||||
|
{
|
||||||
|
ed25519 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFdm3DcfHdcLP0oSpVrWwIZ/b9lZuakBSPwCFz2BdTJ7";
|
||||||
|
hostnames = [ "192.168.1.166" ];
|
||||||
|
};
|
||||||
pc =
|
pc =
|
||||||
{
|
{
|
||||||
ed25519 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMSfREi19OSwQnhdsE8wiNwGSFFJwNGN0M5gN+sdrrLJ";
|
ed25519 = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMSfREi19OSwQnhdsE8wiNwGSFFJwNGN0M5gN+sdrrLJ";
|
||||||
@@ -161,6 +166,7 @@ inputs:
|
|||||||
// {
|
// {
|
||||||
xmupc1 = { host = "xmupc1"; hostname = "office.chn.moe"; port = 6007; };
|
xmupc1 = { host = "xmupc1"; hostname = "office.chn.moe"; port = 6007; };
|
||||||
nas = { host = "nas"; hostname = "office.chn.moe"; port = 5440; };
|
nas = { host = "nas"; hostname = "office.chn.moe"; port = 5440; };
|
||||||
|
surface = { host = "surface"; hostname = "192.168.1.166"; };
|
||||||
gitea = { host = "gitea"; hostname = "ssh.git.chn.moe"; };
|
gitea = { host = "gitea"; hostname = "ssh.git.chn.moe"; };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
1
modules/packages/server/ssh/surface_rsa.pub
Normal file
1
modules/packages/server/ssh/surface_rsa.pub
Normal file
@@ -0,0 +1 @@
|
|||||||
|
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDJAyDl52UVGFPTV/rXFERrXAMY5qZ3g+tpg9HOGdw86G4Nr8Xp/cTxZjF4kSfIkSrGblAV9Lm4US0fW3pGOQu5qQrSAENxqHxdlEyzt7izyF2CklDUeTjs3KHOIZMvSli4z014NPcswBbjwB9Lyrw0fCQ9P1vYkrUHEzL2SMxdack1EQPcMF4MxblDqc+eQhdMCkKE8T1Cb1ZqxeLVMPn9CwjG18JoxL+/xs+MjcsSXYWcoqYTfgfhguMbh0D4Eo32MHS/IzRSxnOHJxhG5xYePcyBlb/CxQuYA+RTqKNE85j7GcL2oEmeZ1b++/9qFT9grwVh+UOBRO2xiMzKDF24nXPJ+eLyd6Z/3swGT4rTVDnrXV5eZUkWLHN093IdLJCTtPVrKV9OxEKr5sU2W0edpirNrlGq7/MYkJX9EbQctDFA69XfQkZlGK9xGutqSgEaVlY54fS0Due+NDrNBPfMKJ9MTmFDOY+NYn05El2rMD39OKbGbCR5ASwSSBlcQeE=
|
||||||
@@ -14,27 +14,21 @@ inputs:
|
|||||||
# password and key management
|
# password and key management
|
||||||
electrum jabref
|
electrum jabref
|
||||||
# system management
|
# system management
|
||||||
wl-mirror ventoy-full
|
wl-mirror
|
||||||
# nix tools
|
# nix tools
|
||||||
nix-template appimage-run nil nixd nix-alien nix-serve node2nix nix-prefetch-github prefetch-npm-deps
|
nix-template nil nix-alien pnpm-lock-export bundix
|
||||||
nix-prefetch-docker pnpm-lock-export bundix
|
|
||||||
# instant messager
|
# instant messager
|
||||||
zoom-us signal-desktop qq nur-xddxdd.wechat-uos slack inputs.config.nur.repos.linyinfeng.wemeet
|
qq nur-xddxdd.wechat-uos cinny-desktop nheko
|
||||||
cinny-desktop nheko
|
|
||||||
# office
|
|
||||||
libreoffice-qt texstudio poppler_utils pdftk gnuplot pdfchain hdfview
|
|
||||||
(texlive.combine { inherit (texlive) scheme-full; inherit (localPackages) citation-style-language; })
|
|
||||||
# development
|
# development
|
||||||
jetbrains.clion android-studio dbeaver cling clang-tools_16 ccls fprettify aircrack-ng
|
jetbrains.clion android-studio dbeaver cling clang-tools_16 ccls fprettify aircrack-ng
|
||||||
# media
|
# media
|
||||||
nur-xddxdd.svp obs-studio waifu2x-converter-cpp inkscape blender
|
nur-xddxdd.svp
|
||||||
# virtualization
|
# virtualization
|
||||||
wineWowPackages.stagingFull virt-viewer bottles # wine64
|
wineWowPackages.stagingFull virt-viewer bottles # wine64
|
||||||
# text editor
|
# text editor
|
||||||
appflowy notion-app-enhanced joplin-desktop standardnotes logseq
|
appflowy notion-app-enhanced joplin-desktop standardnotes logseq
|
||||||
# math, physics and chemistry
|
# math, physics and chemistry
|
||||||
mathematica octaveFull root ovito paraview localPackages.vesta qchem.quantum-espresso
|
mathematica paraview localPackages.vasp jmol # qchem.quantum-espresso
|
||||||
localPackages.vasp localPackages.vaspkit jmol localPackages.v_sim
|
|
||||||
# encryption and password management
|
# encryption and password management
|
||||||
john crunch hashcat
|
john crunch hashcat
|
||||||
# container and vm
|
# container and vm
|
||||||
@@ -43,13 +37,14 @@ inputs:
|
|||||||
microsoft-edge
|
microsoft-edge
|
||||||
# news
|
# news
|
||||||
rssguard newsflash newsboat
|
rssguard newsflash newsboat
|
||||||
|
yuzu-early-access
|
||||||
];
|
];
|
||||||
_pythonPackages = [(pythonPackages: with pythonPackages;
|
_pythonPackages = [(pythonPackages: with pythonPackages;
|
||||||
[
|
[
|
||||||
phonopy tensorflow keras openai scipy scikit-learn jupyterlab autograd
|
phonopy tensorflow keras openai scipy scikit-learn jupyterlab autograd
|
||||||
# localPackages.pix2tex
|
# localPackages.pix2tex
|
||||||
inquirerpy requests python-telegram-bot tqdm fastapi pypdf2 pandas matplotlib plotly gunicorn redis jinja2
|
inquirerpy requests python-telegram-bot tqdm fastapi pypdf2 pandas matplotlib plotly gunicorn redis jinja2
|
||||||
certifi charset-normalizer idna orjson psycopg2 localPackages.eigengdb
|
certifi charset-normalizer idna orjson psycopg2
|
||||||
])];
|
])];
|
||||||
_prebuildPackages =
|
_prebuildPackages =
|
||||||
[
|
[
|
||||||
|
|||||||
@@ -8,8 +8,14 @@ inputs:
|
|||||||
type = types.attrsOf (types.oneOf
|
type = types.attrsOf (types.oneOf
|
||||||
[
|
[
|
||||||
types.nonEmptyStr
|
types.nonEmptyStr
|
||||||
(types.submodule { options =
|
(types.submodule
|
||||||
{ device = mkOption { type = types.nonEmptyStr; }; hashTableSizeMB = mkOption { type = types.int; }; };})
|
{
|
||||||
|
options =
|
||||||
|
{
|
||||||
|
device = mkOption { type = types.nonEmptyStr; };
|
||||||
|
hashTableSizeMB = mkOption { type = types.ints.unsigned; default = 1024; };
|
||||||
|
threads = mkOption { type = types.ints.unsigned; default = 1; };
|
||||||
|
};})
|
||||||
]);
|
]);
|
||||||
default = {};
|
default = {};
|
||||||
};
|
};
|
||||||
@@ -30,7 +36,7 @@ inputs:
|
|||||||
{
|
{
|
||||||
spec = instance.value.device or instance.value;
|
spec = instance.value.device or instance.value;
|
||||||
hashTableSizeMB = instance.value.hashTableSizeMB or 1024;
|
hashTableSizeMB = instance.value.hashTableSizeMB or 1024;
|
||||||
extraOptions = [ "--thread-count" "1" "--scan-mode" "3" ];
|
extraOptions = [ "--thread-count" "${toString instance.value.threads or 1}" "--scan-mode" "3" ];
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
(attrsToList beesd.instances));
|
(attrsToList beesd.instances));
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ inputs:
|
|||||||
Group = inputs.config.users.users.mirism.group;
|
Group = inputs.config.users.users.mirism.group;
|
||||||
ExecStart = "${inputs.pkgs.localPackages.mirism}/bin/${instance}";
|
ExecStart = "${inputs.pkgs.localPackages.mirism}/bin/${instance}";
|
||||||
RuntimeMaxSec = "1d";
|
RuntimeMaxSec = "1d";
|
||||||
|
Restart = "always";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -3,45 +3,88 @@ inputs:
|
|||||||
options.nixos.services.wireguard = let inherit (inputs.lib) mkOption types; in
|
options.nixos.services.wireguard = let inherit (inputs.lib) mkOption types; in
|
||||||
{
|
{
|
||||||
enable = mkOption { type = types.bool; default = false; };
|
enable = mkOption { type = types.bool; default = false; };
|
||||||
peers = mkOption { type = types.nonEmptyListOf types.nonEmptyStr; default = []; };
|
|
||||||
# wg genkey | wg pubkey
|
# wg genkey | wg pubkey
|
||||||
publicKey = mkOption { type = types.nonEmptyStr; };
|
publicKey = mkOption { type = types.nonEmptyStr; };
|
||||||
wireguardIp = mkOption { type = types.nonEmptyStr; };
|
|
||||||
externalIp = mkOption { type = types.nullOr types.nonEmptyStr; default = null; };
|
|
||||||
lighthouse = mkOption { type = types.bool; default = false; };
|
lighthouse = mkOption { type = types.bool; default = false; };
|
||||||
|
behindNat = mkOption
|
||||||
|
{
|
||||||
|
type = types.bool;
|
||||||
|
default = inputs.config.nixos.services.xray.client.enable;
|
||||||
|
};
|
||||||
|
listenIp = mkOption { type = types.nullOr types.nonEmptyStr; default = null; };
|
||||||
|
# if the host is behind xray, it should listen on another port, to make xray succeffully listen on 51820
|
||||||
|
listenPort = mkOption
|
||||||
|
{
|
||||||
|
type = types.ints.unsigned;
|
||||||
|
default = if inputs.config.nixos.services.wireguard.behindNat then 51821 else 51820;
|
||||||
|
};
|
||||||
|
wireguardIp = mkOption { type = types.nonEmptyStr; };
|
||||||
|
peers = mkOption { type = types.nonEmptyListOf types.nonEmptyStr; default = []; };
|
||||||
};
|
};
|
||||||
config =
|
config =
|
||||||
let
|
let
|
||||||
inherit (inputs.lib) mkIf;
|
inherit (inputs.lib) mkIf mkMerge;
|
||||||
inherit (inputs.config.nixos.services) wireguard;
|
inherit (inputs.config.nixos.services) wireguard;
|
||||||
inherit (builtins) map toString;
|
inherit (builtins) map toString listToAttrs filter;
|
||||||
in mkIf wireguard.enable
|
in mkMerge
|
||||||
{
|
[
|
||||||
networking =
|
{
|
||||||
let
|
assertions =
|
||||||
# if the host is behind xray, it should listen on another port, to make xray succeffully listen on 51820
|
[{
|
||||||
port = 51820 + (if inputs.config.nixos.services.xrayClient.enable then 1 else 0);
|
assertion = !wireguard.behindNat -> wireguard.listenIp != null;
|
||||||
in
|
message = "wireguard.listenIp should be not null when behindNat is false.";
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
(
|
||||||
|
mkIf wireguard.enable
|
||||||
{
|
{
|
||||||
firewall = { allowedUDPPorts = [ port ]; trustedInterfaces = [ "wireguard" ]; };
|
networking =
|
||||||
wireguard.interfaces.wireguard =
|
|
||||||
{
|
{
|
||||||
ips = [ "${wireguard.wireguardIp}/24" ];
|
firewall = { allowedUDPPorts = [ wireguard.listenPort ]; trustedInterfaces = [ "wireguard" ]; };
|
||||||
listenPort = port;
|
wireguard.interfaces.wireguard =
|
||||||
privateKeyFile = inputs.config.sops.secrets."wireguard/privateKey".path;
|
{
|
||||||
peers = map
|
ips = [ "${wireguard.wireguardIp}/24" ];
|
||||||
|
inherit (wireguard) listenPort;
|
||||||
|
privateKeyFile = inputs.config.sops.secrets."wireguard/privateKey".path;
|
||||||
|
peers = map
|
||||||
|
(peer:
|
||||||
|
{
|
||||||
|
publicKey = peer.publicKey;
|
||||||
|
allowedIPs = [ (if peer.lighthouse then "192.168.83.0/24" else "${peer.wireguardIp}/32") ];
|
||||||
|
endpoint = mkIf (!peer.behindNat) "${peer.listenIp}:${builtins.toString peer.listenPort}";
|
||||||
|
persistentKeepalive = 3;
|
||||||
|
})
|
||||||
|
(map
|
||||||
|
(peer: inputs.topInputs.self.nixosConfigurations.${peer}.config.nixos.services.wireguard)
|
||||||
|
wireguard.peers);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
sops.secrets."wireguard/privateKey" = {};
|
||||||
|
# somehow fix wireguard connection
|
||||||
|
systemd.services = mkIf wireguard.behindNat (listToAttrs (map
|
||||||
|
(peer:
|
||||||
|
{
|
||||||
|
name = "wireguard-ping-${peer.name}";
|
||||||
|
value =
|
||||||
|
{
|
||||||
|
description = "ping ${peer.name}";
|
||||||
|
after = [ "network.target" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
serviceConfig =
|
||||||
|
{
|
||||||
|
ExecStart = "${inputs.pkgs.iputils}/bin/ping -i 3 ${peer.value.wireguardIp}";
|
||||||
|
Restart = "always";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
})
|
||||||
|
(filter (peer: !peer.value.behindNat) (map
|
||||||
(peer:
|
(peer:
|
||||||
{
|
{
|
||||||
publicKey = peer.publicKey;
|
name = peer;
|
||||||
allowedIPs = [ (if peer.lighthouse then "192.168.83.0/24" else "${peer.wireguardIp}/32") ];
|
value = inputs.topInputs.self.nixosConfigurations.${peer}.config.nixos.services.wireguard;
|
||||||
endpoint = mkIf (peer.externalIp != null) "${peer.externalIp}:51820";
|
|
||||||
persistentKeepalive = 3;
|
|
||||||
})
|
})
|
||||||
(map
|
wireguard.peers))));
|
||||||
(peer: inputs.topInputs.self.nixosConfigurations.${peer}.config.nixos.services.wireguard)
|
}
|
||||||
wireguard.peers);
|
)
|
||||||
};
|
];
|
||||||
};
|
|
||||||
sops.secrets."wireguard/privateKey" = {};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
inputs:
|
inputs:
|
||||||
{
|
{
|
||||||
options.nixos.services = let inherit (inputs.lib) mkOption types; in
|
options.nixos.services.xray = let inherit (inputs.lib) mkOption types; in
|
||||||
{
|
{
|
||||||
xrayClient =
|
client =
|
||||||
{
|
{
|
||||||
enable = mkOption { type = types.bool; default = false; };
|
enable = mkOption { type = types.bool; default = false; };
|
||||||
serverAddress = mkOption { type = types.nonEmptyStr; };
|
serverAddress = mkOption { type = types.nonEmptyStr; };
|
||||||
@@ -13,7 +13,7 @@ inputs:
|
|||||||
extraInterfaces = mkOption { type = types.listOf types.nonEmptyStr; default = []; };
|
extraInterfaces = mkOption { type = types.listOf types.nonEmptyStr; default = []; };
|
||||||
}; }; };
|
}; }; };
|
||||||
};
|
};
|
||||||
xrayServer =
|
server =
|
||||||
{
|
{
|
||||||
enable = mkOption { type = types.bool; default = false; };
|
enable = mkOption { type = types.bool; default = false; };
|
||||||
serverName = mkOption { type = types.nonEmptyStr; };
|
serverName = mkOption { type = types.nonEmptyStr; };
|
||||||
@@ -23,12 +23,19 @@ inputs:
|
|||||||
let
|
let
|
||||||
inherit (inputs.lib) mkMerge mkIf;
|
inherit (inputs.lib) mkMerge mkIf;
|
||||||
inherit (inputs.localLib) stripeTabs attrsToList;
|
inherit (inputs.localLib) stripeTabs attrsToList;
|
||||||
inherit (inputs.config.nixos.services) xrayClient xrayServer;
|
inherit (inputs.config.nixos.services) xray;
|
||||||
inherit (builtins) map listToAttrs toString genList length concatStringsSep;
|
inherit (builtins) map listToAttrs toString genList length concatStringsSep;
|
||||||
in mkMerge
|
in mkMerge
|
||||||
[
|
[
|
||||||
|
{
|
||||||
|
assertions =
|
||||||
|
[{
|
||||||
|
assertion = !(xray.client.enable && xray.server.enable);
|
||||||
|
message = "Currenty xray.client and xray.server could not be simutaniusly enabled.";
|
||||||
|
}];
|
||||||
|
}
|
||||||
(
|
(
|
||||||
mkIf xrayClient.enable
|
mkIf xray.client.enable
|
||||||
{
|
{
|
||||||
services =
|
services =
|
||||||
{
|
{
|
||||||
@@ -40,14 +47,10 @@ inputs:
|
|||||||
no-poll = true;
|
no-poll = true;
|
||||||
log-queries = true;
|
log-queries = true;
|
||||||
server = [ "127.0.0.1#10853" ];
|
server = [ "127.0.0.1#10853" ];
|
||||||
interface = xrayClient.dns.extraInterfaces ++ [ "lo" ];
|
interface = xray.client.dns.extraInterfaces ++ [ "lo" ];
|
||||||
bind-dynamic = true;
|
bind-dynamic = true;
|
||||||
ipset =
|
ipset = [ "/yuanshen.com/noproxy_net" ];
|
||||||
[
|
address = map (host: "/${host.name}/${host.value}") (attrsToList xray.client.dns.hosts);
|
||||||
"/developer.download.nvidia.com/noproxy_net"
|
|
||||||
"/yuanshen.com/noproxy_net"
|
|
||||||
];
|
|
||||||
address = map (host: "/${host.name}/${host.value}") (attrsToList xrayClient.dns.hosts);
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
xray = { enable = true; settingsFile = inputs.config.sops.templates."xray-client.json".path; };
|
xray = { enable = true; settingsFile = inputs.config.sops.templates."xray-client.json".path; };
|
||||||
@@ -130,7 +133,7 @@ inputs:
|
|||||||
protocol = "vless";
|
protocol = "vless";
|
||||||
settings.vnext =
|
settings.vnext =
|
||||||
[{
|
[{
|
||||||
address = xrayClient.serverAddress;
|
address = xray.client.serverAddress;
|
||||||
port = 443;
|
port = 443;
|
||||||
users =
|
users =
|
||||||
[{
|
[{
|
||||||
@@ -145,7 +148,7 @@ inputs:
|
|||||||
security = "reality";
|
security = "reality";
|
||||||
realitySettings =
|
realitySettings =
|
||||||
{
|
{
|
||||||
serverName = xrayClient.serverName;
|
serverName = xray.client.serverName;
|
||||||
publicKey = "Nl0eVZoDF9d71_3dVsZGJl3UWR9LCv3B14gu7G6vhjk";
|
publicKey = "Nl0eVZoDF9d71_3dVsZGJl3UWR9LCv3B14gu7G6vhjk";
|
||||||
fingerprint = "firefox";
|
fingerprint = "firefox";
|
||||||
};
|
};
|
||||||
@@ -308,7 +311,7 @@ inputs:
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
(
|
(
|
||||||
mkIf xrayServer.enable (let userList = genList (n: n) 30; in
|
mkIf xray.server.enable (let userList = genList (n: n) 30; in
|
||||||
{
|
{
|
||||||
services.xray = { enable = true; settingsFile = inputs.config.sops.templates."xray-server.json".path; };
|
services.xray = { enable = true; settingsFile = inputs.config.sops.templates."xray-server.json".path; };
|
||||||
sops =
|
sops =
|
||||||
@@ -351,7 +354,7 @@ inputs:
|
|||||||
realitySettings =
|
realitySettings =
|
||||||
{
|
{
|
||||||
dest = "127.0.0.1:${fallbackPort}";
|
dest = "127.0.0.1:${fallbackPort}";
|
||||||
serverNames = [ xrayServer.serverName ];
|
serverNames = [ xray.server.serverName ];
|
||||||
privateKey = inputs.config.sops.placeholder."xray-server/private-key";
|
privateKey = inputs.config.sops.placeholder."xray-server/private-key";
|
||||||
minClientVer = "1.8.0";
|
minClientVer = "1.8.0";
|
||||||
shortIds = [ "" ];
|
shortIds = [ "" ];
|
||||||
@@ -493,12 +496,12 @@ inputs:
|
|||||||
};
|
};
|
||||||
nixos.services =
|
nixos.services =
|
||||||
{
|
{
|
||||||
acme = { enable = true; cert.${xrayServer.serverName}.group = inputs.config.users.users.nginx.group; };
|
acme = { enable = true; cert.${xray.server.serverName}.group = inputs.config.users.users.nginx.group; };
|
||||||
nginx =
|
nginx =
|
||||||
{
|
{
|
||||||
enable = true;
|
enable = true;
|
||||||
transparentProxy.map."${xrayServer.serverName}" = 4726;
|
transparentProxy.map."${xray.server.serverName}" = 4726;
|
||||||
https."${xrayServer.serverName}" =
|
https."${xray.server.serverName}" =
|
||||||
{
|
{
|
||||||
listen.main = { proxyProtocol = false; addToTransparentProxy = false; };
|
listen.main = { proxyProtocol = false; addToTransparentProxy = false; };
|
||||||
location."/".return.return = "400";
|
location."/".return.return = "400";
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ inputs:
|
|||||||
./sops.nix
|
./sops.nix
|
||||||
./user.nix
|
./user.nix
|
||||||
./sysctl.nix
|
./sysctl.nix
|
||||||
|
./envfs.nix
|
||||||
];
|
];
|
||||||
config =
|
config =
|
||||||
{
|
{
|
||||||
@@ -24,7 +25,7 @@ inputs:
|
|||||||
boot =
|
boot =
|
||||||
{
|
{
|
||||||
supportedFilesystems = [ "ntfs" ];
|
supportedFilesystems = [ "ntfs" ];
|
||||||
consoleLogLevel = 7;
|
# consoleLogLevel = 7;
|
||||||
};
|
};
|
||||||
hardware.enableAllFirmware = true;
|
hardware.enableAllFirmware = true;
|
||||||
environment.sessionVariables = rec
|
environment.sessionVariables = rec
|
||||||
|
|||||||
12
modules/system/envfs.nix
Normal file
12
modules/system/envfs.nix
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
inputs:
|
||||||
|
{
|
||||||
|
options.nixos.system.envfs = let inherit (inputs.lib) mkOption types; in
|
||||||
|
{
|
||||||
|
enable = mkOption { type = types.bool; default = true; };
|
||||||
|
};
|
||||||
|
config = inputs.lib.mkMerge
|
||||||
|
[
|
||||||
|
(builtins.elemAt inputs.topInputs.envfs.nixosModules.envfs.imports 0 inputs)
|
||||||
|
{ environment.variables.ENVFS_RESOLVE_ALWAYS = "1"; }
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -7,44 +7,78 @@ inputs:
|
|||||||
# "efi" using efi, "efiRemovable" using efi with install grub removable, or dev path like "/dev/sda" using bios
|
# "efi" using efi, "efiRemovable" using efi with install grub removable, or dev path like "/dev/sda" using bios
|
||||||
installDevice = mkOption { type = types.str; };
|
installDevice = mkOption { type = types.str; };
|
||||||
};
|
};
|
||||||
config =
|
config = let inherit (inputs.config.nixos.system) grub; in inputs.lib.mkMerge
|
||||||
let
|
[
|
||||||
inherit (inputs.lib) mkIf;
|
# general settings
|
||||||
inherit (inputs.localLib) mkConditional attrsToList stripeTabs;
|
{ boot.loader.grub = { enable = true; useOSProber = false; }; }
|
||||||
inherit (inputs.config.nixos.system) grub;
|
# grub timeout
|
||||||
inherit (builtins) concatStringsSep map;
|
{ boot.loader.timeout = grub.timeout; }
|
||||||
in { boot.loader =
|
# grub install
|
||||||
{
|
{
|
||||||
timeout = grub.timeout;
|
boot.loader =
|
||||||
grub =
|
|
||||||
{
|
{
|
||||||
enable = true;
|
grub =
|
||||||
useOSProber = false;
|
{
|
||||||
extraEntries = concatStringsSep "\n" (map
|
device = if builtins.elem grub.installDevice [ "efi" "efiRemovable" ] then "nodev" else grub.installDevice;
|
||||||
(system:
|
efiSupport = builtins.elem grub.installDevice [ "efi" "efiRemovable" ];
|
||||||
''
|
efiInstallAsRemovable = grub.installDevice == "efiRemovable";
|
||||||
menuentry "${system.value}" {
|
};
|
||||||
insmod part_gpt
|
efi =
|
||||||
insmod fat
|
{
|
||||||
insmod search_fs_uuid
|
canTouchEfiVariables = grub.installDevice == "efi";
|
||||||
insmod chain
|
efiSysMountPoint = inputs.lib.mkIf (builtins.elem grub.installDevice [ "efi" "efiRemovable" ]) "/boot/efi";
|
||||||
search --fs-uuid --set=root ${system.name}
|
};
|
||||||
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
|
|
||||||
}
|
|
||||||
'')
|
|
||||||
(attrsToList grub.windowsEntries));
|
|
||||||
device =
|
|
||||||
if grub.installDevice == "efi" || grub.installDevice == "efiRemovable" then "nodev"
|
|
||||||
else grub.installDevice;
|
|
||||||
efiSupport = grub.installDevice == "efi" || grub.installDevice == "efiRemovable";
|
|
||||||
efiInstallAsRemovable = grub.installDevice == "efiRemovable";
|
|
||||||
};
|
};
|
||||||
efi =
|
}
|
||||||
|
# extra grub entries
|
||||||
|
{
|
||||||
|
boot.loader.grub =
|
||||||
{
|
{
|
||||||
canTouchEfiVariables = grub.installDevice == "efi";
|
memtest86.enable = true;
|
||||||
efiSysMountPoint =
|
extraFiles = inputs.lib.mkIf (builtins.elem grub.installDevice [ "efi" "efiRemovable" ])
|
||||||
if grub.installDevice == "efi" || grub.installDevice == "efiRemovable" then "/boot/efi"
|
{ "shell.efi" = "${inputs.pkgs.edk2-uefi-shell}/shell.efi"; };
|
||||||
else inputs.options.boot.loader.efi.efiSysMountPoint.default;
|
extraEntries = inputs.lib.mkMerge (builtins.concatLists
|
||||||
|
[
|
||||||
|
(builtins.map
|
||||||
|
(system:
|
||||||
|
''
|
||||||
|
menuentry "${system.value}" {
|
||||||
|
insmod part_gpt
|
||||||
|
insmod fat
|
||||||
|
insmod search_fs_uuid
|
||||||
|
insmod chain
|
||||||
|
search --fs-uuid --set=root ${system.name}
|
||||||
|
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
|
||||||
|
}
|
||||||
|
'')
|
||||||
|
(inputs.localLib.attrsToList grub.windowsEntries))
|
||||||
|
[
|
||||||
|
''
|
||||||
|
menuentry "System shutdown" {
|
||||||
|
echo "System shutting down..."
|
||||||
|
halt
|
||||||
|
}
|
||||||
|
menuentry "System restart" {
|
||||||
|
echo "System rebooting..."
|
||||||
|
reboot
|
||||||
|
}
|
||||||
|
''
|
||||||
|
(
|
||||||
|
inputs.lib.optionalString (builtins.elem grub.installDevice [ "efi" "efiRemovable" ])
|
||||||
|
''
|
||||||
|
menuentry 'UEFI Firmware Settings' --id 'uefi-firmware' {
|
||||||
|
fwsetup
|
||||||
|
}
|
||||||
|
menuentry "UEFI Shell" {
|
||||||
|
insmod fat
|
||||||
|
insmod chain
|
||||||
|
chainloader @bootRoot@/shell.efi
|
||||||
|
}
|
||||||
|
''
|
||||||
|
)
|
||||||
|
]
|
||||||
|
]);
|
||||||
};
|
};
|
||||||
};};
|
}
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ inputs:
|
|||||||
{
|
{
|
||||||
options.nixos.system.impermanence = let inherit (inputs.lib) mkOption types; in
|
options.nixos.system.impermanence = let inherit (inputs.lib) mkOption types; in
|
||||||
{
|
{
|
||||||
enable = mkOption { type = types.bool; default = false; };
|
enable = mkOption { type = types.bool; default = true; };
|
||||||
persistence = mkOption { type = types.nonEmptyStr; default = "/nix/persistent"; };
|
persistence = mkOption { type = types.nonEmptyStr; default = "/nix/persistent"; };
|
||||||
root = mkOption { type = types.nonEmptyStr; default = "/nix/rootfs/current"; };
|
root = mkOption { type = types.nonEmptyStr; default = "/nix/rootfs/current"; };
|
||||||
nodatacow = mkOption { type = types.nullOr types.nonEmptyStr; default = "/nix/nodatacow"; };
|
nodatacow = mkOption { type = types.nullOr types.nonEmptyStr; default = "/nix/nodatacow"; };
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ inputs:
|
|||||||
];
|
];
|
||||||
extraModulePackages = (with inputs.config.boot.kernelPackages; [ v4l2loopback ]) ++ kernel.modules.install;
|
extraModulePackages = (with inputs.config.boot.kernelPackages; [ v4l2loopback ]) ++ kernel.modules.install;
|
||||||
extraModprobeConfig = builtins.concatStringsSep "\n" kernel.modules.modprobeConfig;
|
extraModprobeConfig = builtins.concatStringsSep "\n" kernel.modules.modprobeConfig;
|
||||||
kernelParams = [ "delayacct" "acpi_osi=Linux" ];
|
kernelParams = [ "delayacct" "acpi_osi=Linux" "acpi.ec_no_wakeup=1" ];
|
||||||
kernelPackages = inputs.pkgs.linuxPackages_xanmod_latest;
|
kernelPackages = inputs.pkgs.linuxPackages_xanmod_latest;
|
||||||
kernelPatches =
|
kernelPatches =
|
||||||
let
|
let
|
||||||
|
|||||||
@@ -4,61 +4,82 @@ inputs:
|
|||||||
{
|
{
|
||||||
# marches allowed to be compiled on this machine
|
# marches allowed to be compiled on this machine
|
||||||
marches = mkOption { type = types.nullOr (types.listOf types.nonEmptyStr); default = null; };
|
marches = mkOption { type = types.nullOr (types.listOf types.nonEmptyStr); default = null; };
|
||||||
keepOutputs = mkOption { type = types.bool; default = false; };
|
includeBuildDependencies = mkOption { type = types.bool; default = inputs.topInputs.self.config.archive; };
|
||||||
substituters = mkOption { type = types.nullOr (types.listOf types.nonEmptyStr); default = null; };
|
substituters = mkOption { type = types.nullOr (types.listOf types.nonEmptyStr); default = null; };
|
||||||
autoOptimiseStore = mkOption { type = types.bool; default = true; };
|
autoOptimiseStore = mkOption { type = types.bool; default = false; };
|
||||||
};
|
};
|
||||||
config =
|
config = let inherit (inputs.config.nixos.system) nix; in inputs.lib.mkMerge
|
||||||
let
|
[
|
||||||
inherit (inputs.config.nixos.system) nix;
|
# general nix config
|
||||||
in
|
{
|
||||||
|
nix.settings =
|
||||||
{
|
{
|
||||||
nix =
|
system-features = [ "big-parallel" "nixos-test" "benchmark" ];
|
||||||
|
experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
keep-failed = true;
|
||||||
|
max-substitution-jobs = 1;
|
||||||
|
trusted-public-keys = [ "chn:Cc+nowW1LIpe1kyXOZmNaznFDiH1glXmpb4A+WD/DTE=" ];
|
||||||
|
show-trace = true;
|
||||||
|
max-jobs = 1;
|
||||||
|
cores = 0;
|
||||||
|
keep-going = true;
|
||||||
|
};
|
||||||
|
systemd.services.nix-daemon = { serviceConfig.CacheDirectory = "nix"; environment.TMPDIR = "/var/cache/nix"; };
|
||||||
|
}
|
||||||
|
# nix daemon use lower io/cpu priority
|
||||||
|
{
|
||||||
|
nix = { daemonIOSchedClass = "idle"; daemonCPUSchedPolicy = "idle"; };
|
||||||
|
systemd.services.nix-daemon.serviceConfig = { Slice = "-.slice"; Nice = "19"; };
|
||||||
|
}
|
||||||
|
# nix channel & nix flake registry
|
||||||
|
{
|
||||||
|
nix =
|
||||||
|
{
|
||||||
|
registry =
|
||||||
{
|
{
|
||||||
settings =
|
nixpkgs.flake = inputs.topInputs.nixpkgs;
|
||||||
{
|
nixpkgs-unstable.flake = inputs.topInputs.nixpkgs-unstable;
|
||||||
system-features = [ "big-parallel" "nixos-test" "benchmark" ] ++ (map
|
nixos.flake = inputs.topInputs.self;
|
||||||
(march: "gccarch-${march}")
|
|
||||||
(
|
|
||||||
if nix.marches == null then
|
|
||||||
(with inputs.config.nixos.system.nixpkgs; if march == null then [] else [ march ])
|
|
||||||
else nix.marches
|
|
||||||
));
|
|
||||||
experimental-features = [ "nix-command" "flakes" ];
|
|
||||||
keep-outputs = nix.keepOutputs;
|
|
||||||
keep-failed = true;
|
|
||||||
auto-optimise-store = nix.autoOptimiseStore;
|
|
||||||
substituters = if nix.substituters == null then [ "https://cache.nixos.org/" ] else nix.substituters;
|
|
||||||
trusted-public-keys = [ "chn:Cc+nowW1LIpe1kyXOZmNaznFDiH1glXmpb4A+WD/DTE=" ];
|
|
||||||
show-trace = true;
|
|
||||||
max-jobs = 2;
|
|
||||||
cores = 0;
|
|
||||||
keep-going = true;
|
|
||||||
};
|
|
||||||
daemonIOSchedClass = "idle";
|
|
||||||
daemonCPUSchedPolicy = "idle";
|
|
||||||
registry =
|
|
||||||
{
|
|
||||||
nixpkgs.flake = inputs.topInputs.nixpkgs;
|
|
||||||
nixpkgs-unstable.flake = inputs.topInputs.nixpkgs-unstable;
|
|
||||||
nixos.flake = inputs.topInputs.self;
|
|
||||||
};
|
|
||||||
nixPath = [ "nixpkgs=${inputs.topInputs.nixpkgs}" ];
|
|
||||||
};
|
};
|
||||||
systemd.services.nix-daemon =
|
nixPath = [ "nixpkgs=${inputs.topInputs.nixpkgs}" ];
|
||||||
{
|
};
|
||||||
serviceConfig = { CacheDirectory = "nix"; Slice = "-.slice"; Nice = "19"; };
|
environment =
|
||||||
environment = { TMPDIR = "/var/cache/nix"; };
|
{
|
||||||
};
|
etc =
|
||||||
environment.etc =
|
|
||||||
{
|
{
|
||||||
"channels/nixpkgs".source = inputs.topInputs.nixpkgs.outPath;
|
"channels/nixpkgs".source = inputs.topInputs.nixpkgs.outPath;
|
||||||
"channels/nixpkgs-unstable".source = inputs.topInputs.nixpkgs-unstable.outPath;
|
"channels/nixpkgs-unstable".source = inputs.topInputs.nixpkgs-unstable.outPath;
|
||||||
"nixos".source = inputs.topInputs.self.outPath;
|
"nixos".source = inputs.topInputs.self.outPath;
|
||||||
};
|
};
|
||||||
# environment.pathsToLink = [ "/include" ];
|
variables.COMMA_NIXPKGS_FLAKE = "nixpkgs-unstable";
|
||||||
# environment.variables.CPATH = "/run/current-system/sw/include";
|
|
||||||
# environment.variables.LIBRARY_PATH = "/run/current-system/sw/lib";
|
|
||||||
# gui.enable
|
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
# marches
|
||||||
|
{
|
||||||
|
nix.settings.system-features = map
|
||||||
|
(march: "gccarch-${march}")
|
||||||
|
(
|
||||||
|
if nix.marches == null then
|
||||||
|
(with inputs.config.nixos.system.nixpkgs; if march == null then [] else [ march ])
|
||||||
|
else nix.marches
|
||||||
|
);
|
||||||
|
}
|
||||||
|
# includeBuildDependencies
|
||||||
|
{
|
||||||
|
nix.settings.keep-outputs = nix.includeBuildDependencies;
|
||||||
|
system.includeBuildDependencies = nix.includeBuildDependencies;
|
||||||
|
}
|
||||||
|
# substituters
|
||||||
|
{
|
||||||
|
nix.settings.substituters = if nix.substituters == null then [ "https://cache.nixos.org/" ] else nix.substituters;
|
||||||
|
}
|
||||||
|
# autoOptimiseStore
|
||||||
|
{
|
||||||
|
nix.settings.auto-optimise-store = nix.autoOptimiseStore;
|
||||||
|
}
|
||||||
|
# c++ include path
|
||||||
|
# environment.pathsToLink = [ "/include" ];
|
||||||
|
# environment.variables.CPATH = "/run/current-system/sw/include";
|
||||||
|
# environment.variables.LIBRARY_PATH = "/run/current-system/sw/lib";
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ inputs:
|
|||||||
nixpkgs =
|
nixpkgs =
|
||||||
let
|
let
|
||||||
permittedInsecurePackages =
|
permittedInsecurePackages =
|
||||||
[ "openssl_1_1" "electron_19" "python2" "electron_12" "electron_24" "zotero" ];
|
[ "openssl_1_1" "electron_19" "python2" "electron_12" "electron_24" "zotero" "electron_25" ];
|
||||||
hostPlatform = mkConditional (nixpkgs.march != null)
|
hostPlatform = mkConditional (nixpkgs.march != null)
|
||||||
{ system = "x86_64-linux"; gcc = { arch = nixpkgs.march; tune = nixpkgs.march; }; }
|
{ system = "x86_64-linux"; gcc = { arch = nixpkgs.march; tune = nixpkgs.march; }; }
|
||||||
"x86_64-linux";
|
"x86_64-linux";
|
||||||
@@ -138,8 +138,10 @@ inputs:
|
|||||||
sandybridge = "MSANDYBRIDGE";
|
sandybridge = "MSANDYBRIDGE";
|
||||||
silvermont = "MSILVERMONT";
|
silvermont = "MSILVERMONT";
|
||||||
broadwell = "MBROADWELL";
|
broadwell = "MBROADWELL";
|
||||||
|
skylake = "MSKYLAKE";
|
||||||
znver2 = "MZEN2";
|
znver2 = "MZEN2";
|
||||||
znver3 = "MZEN3";
|
znver3 = "MZEN3";
|
||||||
|
znver4 = "MZEN4";
|
||||||
};
|
};
|
||||||
in { GENERIC_CPU = inputs.lib.kernel.no; ${kernelConfig.${nixpkgs.march}} = inputs.lib.kernel.yes; };
|
in { GENERIC_CPU = inputs.lib.kernel.no; ${kernelConfig.${nixpkgs.march}} = inputs.lib.kernel.yes; };
|
||||||
}];
|
}];
|
||||||
|
|||||||
@@ -1,762 +1,184 @@
|
|||||||
|
inputs:
|
||||||
{
|
{
|
||||||
config.home-manager.users.chn.config.programs.plasma =
|
config.home-manager.users.chn.config.programs.plasma =
|
||||||
{
|
{
|
||||||
enable = true;
|
enable = true;
|
||||||
shortcuts =
|
shortcuts = inputs.lib.mkMerge
|
||||||
{
|
[
|
||||||
|
# firefox
|
||||||
|
{ "firefox.desktop"._launch = "Meta+B"; }
|
||||||
# crow translate
|
# crow translate
|
||||||
"io.crow_translate.CrowTranslate.desktop"."TranslateSelectedText" = "Ctrl+Alt+E";
|
{ "io.crow_translate.CrowTranslate.desktop".TranslateSelectedText = "Ctrl+Alt+E"; }
|
||||||
|
|
||||||
# display
|
# display
|
||||||
"kded5"."display" = [ "Display" "Meta+P" ];
|
{
|
||||||
"kwin"."view_actual_size" = "Meta+0";
|
kded5.display = [ "Display" "Meta+P" ];
|
||||||
"kwin"."view_zoom_in" = ["Meta++" "Meta+="];
|
kwin = { view_actual_size = "Meta+0"; view_zoom_in = [ "Meta++" "Meta+=" ]; view_zoom_out = "Meta+-"; };
|
||||||
"kwin"."view_zoom_out" = "Meta+-";
|
org_kde_powerdevil =
|
||||||
"org_kde_powerdevil"."Decrease Screen Brightness" = "Monitor Brightness Down";
|
{
|
||||||
"org_kde_powerdevil"."Increase Screen Brightness" = "Monitor Brightness Up";
|
"Decrease Screen Brightness" = "Monitor Brightness Down";
|
||||||
|
"Increase Screen Brightness" = "Monitor Brightness Up";
|
||||||
|
};
|
||||||
|
}
|
||||||
# volume
|
# volume
|
||||||
"kmix" =
|
|
||||||
{
|
{
|
||||||
"decrease_volume" = "Volume Down";
|
kmix =
|
||||||
"increase_volume" = "Volume Up";
|
{
|
||||||
"mic_mute" = [ "Meta+Volume Mute" ];
|
decrease_volume = "Volume Down";
|
||||||
"mute" = "Volume Mute";
|
increase_volume = "Volume Up";
|
||||||
};
|
mic_mute = [ "Meta+Volume Mute" ];
|
||||||
|
mute = "Volume Mute";
|
||||||
|
};
|
||||||
|
}
|
||||||
# session
|
# session
|
||||||
"ksmserver" =
|
|
||||||
{
|
{
|
||||||
"Lock Session" = [ "Meta+L" "Screensaver" ];
|
ksmserver = { "Lock Session" = [ "Meta+L" "Screensaver" ]; "Log Out" = "Ctrl+Alt+Del"; };
|
||||||
"Log Out" = "Ctrl+Alt+Del";
|
org_kde_powerdevil."Turn Off Screen" = "Meta+Ctrl+L";
|
||||||
};
|
}
|
||||||
"org_kde_powerdevil"."Turn Off Screen" = "Meta+Ctrl+L";
|
|
||||||
|
|
||||||
# mouse
|
|
||||||
"kwin"."MoveMouseToCenter" = "Meta+F6";
|
|
||||||
|
|
||||||
# window
|
# window
|
||||||
"kwin"."Overview" = "Meta+Tab";
|
{
|
||||||
"kwin"."Show Desktop" = "Meta+D";
|
kwin =
|
||||||
"kwin"."Suspend Compositing" = "Alt+Shift+F12";
|
{
|
||||||
"kwin"."Walk Through Windows" = "Alt+Tab";
|
Overview = "Meta+Tab";
|
||||||
"kwin"."Walk Through Windows (Reverse)" = "Alt+Shift+Backtab";
|
"Show Desktop" = "Meta+D";
|
||||||
"kwin"."Window Above Other Windows" = "Meta+Shift+PgUp";
|
"Suspend Compositing" = "Alt+Shift+F12";
|
||||||
"kwin"."Window Below Other Windows" = "Meta+Shift+PgDown";
|
"Walk Through Windows" = "Alt+Tab";
|
||||||
"kwin"."Window Close" = "Alt+F4";
|
"Walk Through Windows (Reverse)" = "Alt+Shift+Backtab";
|
||||||
"kwin"."Window Maximize" = "Meta+PgUp";
|
"Window Above Other Windows" = "Meta+Shift+PgUp";
|
||||||
"kwin"."Window Minimize" = "Meta+PgDown";
|
"Window Below Other Windows" = "Meta+Shift+PgDown";
|
||||||
"kwin"."Window Operations Menu" = "Alt+F3";
|
"Window Close" = "Alt+F4";
|
||||||
"kwin"."Window Quick Tile Bottom" = "Meta+Down";
|
"Window Maximize" = "Meta+PgUp";
|
||||||
"kwin"."Window Quick Tile Left" = "Meta+Left";
|
"Window Minimize" = "Meta+PgDown";
|
||||||
"kwin"."Window Quick Tile Right" = "Meta+Right";
|
"Window Operations Menu" = "Alt+F3";
|
||||||
"kwin"."Window Quick Tile Top" = "Meta+Up";
|
"Window Quick Tile Bottom" = "Meta+Down";
|
||||||
|
"Window Quick Tile Left" = "Meta+Left";
|
||||||
|
"Window Quick Tile Right" = "Meta+Right";
|
||||||
|
"Window Quick Tile Top" = "Meta+Up";
|
||||||
|
};
|
||||||
|
}
|
||||||
# virtual desktop
|
# virtual desktop
|
||||||
"kwin"."Switch One Desktop Down" = "Meta+Ctrl+Down";
|
{
|
||||||
"kwin"."Switch One Desktop Up" = "Meta+Ctrl+Up";
|
kwin =
|
||||||
"kwin"."Switch One Desktop to the Left" = "Meta+Ctrl+Left";
|
{
|
||||||
"kwin"."Switch One Desktop to the Right" = "Meta+Ctrl+Right";
|
"Switch One Desktop Down" = "Meta+Ctrl+Down";
|
||||||
"kwin"."Window One Desktop Down" = "Meta+Ctrl+Shift+Down";
|
"Switch One Desktop Up" = "Meta+Ctrl+Up";
|
||||||
"kwin"."Window One Desktop Up" = "Meta+Ctrl+Shift+Up";
|
"Switch One Desktop to the Left" = "Meta+Ctrl+Left";
|
||||||
"kwin"."Window One Desktop to the Left" = "Meta+Ctrl+Shift+Left";
|
"Switch One Desktop to the Right" = "Meta+Ctrl+Right";
|
||||||
"kwin"."Window One Desktop to the Right" = "Meta+Ctrl+Shift+Right";
|
"Window One Desktop Down" = "Meta+Ctrl+Shift+Down";
|
||||||
|
"Window One Desktop Up" = "Meta+Ctrl+Shift+Up";
|
||||||
|
"Window One Desktop to the Left" = "Meta+Ctrl+Shift+Left";
|
||||||
|
"Window One Desktop to the Right" = "Meta+Ctrl+Shift+Right";
|
||||||
|
};
|
||||||
|
}
|
||||||
# media
|
# media
|
||||||
"mediacontrol"."nextmedia" = "Media Next";
|
{
|
||||||
"mediacontrol"."pausemedia" = "Media Pause";
|
mediacontrol =
|
||||||
"mediacontrol"."playpausemedia" = [ "Pause" "Media Play" ];
|
{
|
||||||
"mediacontrol"."previousmedia" = "Media Previous";
|
nextmedia = "Media Next";
|
||||||
"mediacontrol"."stopmedia" = "Media Stop";
|
pausemedia = "Media Pause";
|
||||||
|
playpausemedia = [ "Pause" "Media Play" ];
|
||||||
|
previousmedia = "Media Previous";
|
||||||
|
stopmedia = "Media Stop";
|
||||||
|
};
|
||||||
|
}
|
||||||
# dolphin
|
# dolphin
|
||||||
"org.kde.dolphin.desktop"."_launch" = "Meta+E";
|
{ "org.kde.dolphin.desktop"._launch = "Meta+E"; }
|
||||||
|
|
||||||
# konsole
|
# konsole
|
||||||
"org.kde.konsole.desktop"."_launch" = "Ctrl+Alt+T";
|
{ "org.kde.konsole.desktop"._launch = "Ctrl+Alt+T"; }
|
||||||
|
|
||||||
# krunner
|
# krunner
|
||||||
"org.kde.krunner.desktop"."_launch" = "Alt+Space";
|
{ "org.kde.krunner.desktop"._launch = "Alt+Space"; }
|
||||||
|
|
||||||
# screenshot
|
# screenshot
|
||||||
"org.kde.spectacle.desktop"."ActiveWindowScreenShot" = "Meta+Print";
|
{
|
||||||
"org.kde.spectacle.desktop"."CurrentMonitorScreenShot" = [ ];
|
"org.kde.spectacle.desktop" =
|
||||||
"org.kde.spectacle.desktop"."FullScreenScreenShot" = "Shift+Print";
|
{
|
||||||
"org.kde.spectacle.desktop"."OpenWithoutScreenshot" = [ ];
|
OpenWithoutScreenshot = "Ctrl+Print";
|
||||||
"org.kde.spectacle.desktop"."RectangularRegionScreenShot" = "Meta+Shift+Print";
|
RectangularRegionScreenShot = "Print";
|
||||||
"org.kde.spectacle.desktop"."WindowUnderCursorScreenShot" = "Meta+Ctrl+Print";
|
};
|
||||||
"org.kde.spectacle.desktop"."_launch" = "Print";
|
}
|
||||||
|
|
||||||
# settings
|
# settings
|
||||||
"systemsettings.desktop"."_launch" = "Meta+I";
|
{ "systemsettings.desktop"._launch = "Meta+I"; }
|
||||||
|
|
||||||
# yakuake
|
# yakuake
|
||||||
"yakuake"."toggle-window-state" = "Meta+Space";
|
{ yakuake.toggle-window-state = "Meta+Space"; }
|
||||||
};
|
# virt-manager
|
||||||
configFile =
|
{ "virt-manager.desktop"._launch = "Meta+V"; }
|
||||||
{
|
];
|
||||||
|
configFile = inputs.lib.mkMerge
|
||||||
|
[
|
||||||
# baloo
|
# baloo
|
||||||
# "baloofilerc"."Basic Settings"."Indexing-Enabled" = false;
|
# "baloofilerc"."Basic Settings"."Indexing-Enabled" = false;
|
||||||
|
|
||||||
# dolphin
|
# dolphin
|
||||||
"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";
|
dolphinrc =
|
||||||
|
{
|
||||||
|
General = { ShowFullPath = true; FilterBar = true; RememberOpenedTabs = false; };
|
||||||
|
PreviewSettings.Plugins = builtins.concatStringsSep ","
|
||||||
|
[
|
||||||
|
"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"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
# theme
|
||||||
|
{
|
||||||
|
kcminputrc.Mouse.cursorTheme = "breeze_cursors";
|
||||||
|
}
|
||||||
|
|
||||||
|
]
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
"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"."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"."KDE"."widgetStyle" = "kvantum";
|
||||||
"kdeglobals"."KFileDialog Settings"."Allow Expansion" = true;
|
"kdeglobals"."KFileDialog Settings"."Allow Expansion" = true;
|
||||||
"kdeglobals"."KFileDialog Settings"."Automatically select filename extension" = 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 Bookmarks" = true;
|
||||||
"kdeglobals"."KFileDialog Settings"."Show Full Path" = true;
|
"kdeglobals"."KFileDialog Settings"."Show Full Path" = true;
|
||||||
"kdeglobals"."KFileDialog Settings"."Show Inline Previews" = false;
|
"kdeglobals"."KFileDialog Settings"."Show Inline Previews" = true;
|
||||||
"kdeglobals"."KFileDialog Settings"."Show Preview" = false;
|
"kdeglobals"."KFileDialog Settings"."Show Preview" = true;
|
||||||
"kdeglobals"."KFileDialog Settings"."Show Speedbar" = true;
|
"kdeglobals"."KFileDialog Settings"."Show Speedbar" = true;
|
||||||
"kdeglobals"."KFileDialog Settings"."Show hidden files" = true;
|
"kdeglobals"."KFileDialog Settings"."Show hidden files" = true;
|
||||||
"kdeglobals"."KFileDialog Settings"."Sort by" = "Name";
|
"kdeglobals"."KFileDialog Settings"."Sort by" = "Name";
|
||||||
"kdeglobals"."KFileDialog Settings"."Sort directories first" = true;
|
"kdeglobals"."KFileDialog Settings"."Sort directories first" = true;
|
||||||
"kdeglobals"."KFileDialog Settings"."Sort hidden files last" = false;
|
"kdeglobals"."KFileDialog Settings"."Sort hidden files last" = true;
|
||||||
"kdeglobals"."KFileDialog Settings"."Sort reversed" = false;
|
|
||||||
"kdeglobals"."KFileDialog Settings"."Speedbar Width" = 89;
|
|
||||||
"kdeglobals"."KFileDialog Settings"."View Style" = "DetailTree";
|
"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"."General"."FreeFloating" = true;
|
||||||
"krunnerrc"."Plugins"."baloosearchEnabled" = false;
|
"krunnerrc"."Plugins"."baloosearchEnabled" = false;
|
||||||
"kscreenlockerrc"."Daemon"."Autolock" = 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";
|
# https://www.fanbox.cc/@peas0125/posts/5405326
|
||||||
"ksmserverrc"."General"."loginMode" = "emptySession";
|
"kscreenlockerrc"."Greeter.Wallpaper.org.kde.image.General"."Image" = ./wallpaper/fanbox-5405326-x4-chop.png;
|
||||||
"ksmserverrc"."SubSession: 3435a388-a8b3-4d1d-9794-b8c30162ce16"."count" = 0;
|
"kscreenlockerrc"."Greeter.Wallpaper.org.kde.image.General"."PreviewImage" =
|
||||||
"ksmserverrc"."SubSession: 6a473a77-85df-4e49-8c74-bdb06d1f0efd"."count" = 0;
|
./wallpaper/fanbox-5405326-x4-chop.png;
|
||||||
"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;
|
|
||||||
"kwinrc"."Effect-blur"."BlurStrength" = 10;
|
"kwinrc"."Effect-blur"."BlurStrength" = 10;
|
||||||
"kwinrc"."Effect-kwin4_effect_translucency"."MoveResize" = 75;
|
"kwinrc"."Effect-kwin4_effect_translucency"."MoveResize" = 75;
|
||||||
"kwinrc"."Effect-wobblywindows"."AdvancedMode" = true;
|
"kwinrc"."Effect-wobblywindows"."AdvancedMode" = true;
|
||||||
@@ -774,29 +196,6 @@
|
|||||||
"kwinrc"."SubSession: 6a473a77-85df-4e49-8c74-bdb06d1f0efd"."active" = "-1";
|
"kwinrc"."SubSession: 6a473a77-85df-4e49-8c74-bdb06d1f0efd"."active" = "-1";
|
||||||
"kwinrc"."SubSession: 6a473a77-85df-4e49-8c74-bdb06d1f0efd"."count" = 0;
|
"kwinrc"."SubSession: 6a473a77-85df-4e49-8c74-bdb06d1f0efd"."count" = 0;
|
||||||
"kwinrc"."Tiling"."padding" = 4;
|
"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"."Wayland"."InputMethod[$e]" = "/run/current-system/sw/share/applications/org.fcitx.Fcitx5.desktop";
|
||||||
"kwinrc"."Windows"."RollOverDesktops" = true;
|
"kwinrc"."Windows"."RollOverDesktops" = true;
|
||||||
"kwinrc"."Xwayland"."Scale" = 1;
|
"kwinrc"."Xwayland"."Scale" = 1;
|
||||||
@@ -847,7 +246,6 @@
|
|||||||
"plasma-localerc"."Translations"."LANGUAGE" = "zh_CN";
|
"plasma-localerc"."Translations"."LANGUAGE" = "zh_CN";
|
||||||
"plasmanotifyrc"."Notifications"."PopupPosition" = "BottomRight";
|
"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";
|
"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;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
modules/users/chn/wallpaper/fanbox-5405326-x4-chop.png
LFS
Normal file
BIN
modules/users/chn/wallpaper/fanbox-5405326-x4-chop.png
LFS
Normal file
Binary file not shown.
@@ -2,6 +2,13 @@ inputs:
|
|||||||
{
|
{
|
||||||
options.nixos.virtualization = let inherit (inputs.lib) mkOption types; in
|
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; };
|
waydroid.enable = mkOption { default = false; type = types.bool; };
|
||||||
docker.enable = mkOption { default = false; type = types.bool; };
|
docker.enable = mkOption { default = false; type = types.bool; };
|
||||||
kvmHost =
|
kvmHost =
|
||||||
|
|||||||
31
secrets/surface/default.yaml
Normal file
31
secrets/surface/default.yaml
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
xray-client:
|
||||||
|
uuid: ENC[AES256_GCM,data:WEBAH3PQM5ahNpH/kvTtcjcJ2GllmmRlBR2oclG6AimGenSg,iv:TMp0WTOe9fuELSZoVGenl5XSZUFoiYUBEMWMn4NFv1g=,tag:GJTE0EELcZkrnGAKLYer1g==,type:str]
|
||||||
|
sops:
|
||||||
|
kms: []
|
||||||
|
gcp_kms: []
|
||||||
|
azure_kv: []
|
||||||
|
hc_vault: []
|
||||||
|
age:
|
||||||
|
- recipient: age19ax6vm3pv8rph5tq3mmehd9sy9jk823tw8svsd790r0lkslycquqvlwz9m
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzV1pvWkVGSFg5TVAvRlhu
|
||||||
|
TnFnMEszcDRWWHlQanAyRkRpQWdqQkdhTzFvCjBqUG4xNFBiRnlSeTNQSmdkVkdD
|
||||||
|
UlVCQjRFVExuZHdrSnViajZGZ3c2dWsKLS0tIHlQYU5VeGpEQzllMmxLSnJZZzZx
|
||||||
|
N1R3Mkhxa0dOVlJiU0V2OEZVVzZVMFkKae3c1axl22uxh9wMygAHs6q1WA5ImOS8
|
||||||
|
uzKSthWSqtC7DMqgUFaaSjBYM2TN3l402syx71xVFyyAmCcGZbbJcg==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
- recipient: age1ck5vzs0xqx0jplmuksrkh45xwmkm2t05m2wyq5k2w2mnkmn79fxs6tvl3l
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCSHJVRGIwQUFpVER5SWxq
|
||||||
|
YjJOT0lXN3dFOFpjMFlWV3JCbmZFN0hnNEJBClpQUEczK2RWTGlVTmJRbVZaUC8y
|
||||||
|
bEFrL1RjTTNlYVNnRVRBZlRjaTlnUEEKLS0tIE5GM01pTGFFcWVVSWEvUHE3Z08r
|
||||||
|
a2xybTRFUFZZN20zajZJTVNwVEpGcEEKglmFMk7z1q5IlZ+lZf9M0HtknmvcYt/P
|
||||||
|
2/z5e8wLN1Hy0Zsbv0yIL/NmqwxAOGJOdzz7ElJszk/Y4kUr9aRasg==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
lastmodified: "2024-01-17T08:21:40Z"
|
||||||
|
mac: ENC[AES256_GCM,data:8+nUsgM47gMZmCQwPgqzM95UuYgF3UStE+XiOPPaed/VIk9e2fNLu9vR+wEgb04pR29BQTWV0qx7xqF/IzFbMYLfujgfDQoOf5pTFi5E6WTFp/MDlq8DSwxJqegEvshoAcRMt2Ur8VKbEZ/ya+yZipEZBPyGHkvi0kS8AOULbb8=,iv:txSZzGGtMVMwi1ogcAJdNqm0bb8so0RVJvkbu0QMHT4=,tag:6TQ7LYfoOrCTPMBAPQqwyg==,type:str]
|
||||||
|
pgp: []
|
||||||
|
unencrypted_suffix: _unencrypted
|
||||||
|
version: 3.8.1
|
||||||
@@ -10,8 +10,7 @@ xray-server:
|
|||||||
user1: ENC[AES256_GCM,data:S3IHO9FcVHTJOsRxjSohM9MgnrEwLdDpFU+efLkQaXT2jNJG,iv:KOesvPzjDfm1EDLFiegbk0wgjp7di5mUwUuuY2hwvOQ=,tag:ZsYyUyyEhO5S3weCw/gPMw==,type:str]
|
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]
|
#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]
|
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:r+6jXaIj4HJoYLnJcnjJB+WEZlGaoSy/ktc1Aw77hFtNrrGp,iv:P+YUKns1yaOZokH5WkDB0jssGyHg3ncc54tF1PyA7Oc=,tag:/pxMEr7l4ye5EDAOsllxJA==,type:str]
|
||||||
user3: ENC[AES256_GCM,data:Q3GlAiELNXurVN3nv5k8Zt1/zqctYb3gvHZ4KnXApCRdShHT,iv:ihJ76k4NcwitdYCS0y4/UlH4K63vwmAY63bCWSi9dkk=,tag:XaH97gpAdaFkUiUTb50aLw==,type:str]
|
|
||||||
#ENC[AES256_GCM,data:4gqZh391hg==,iv:No22DrD6EBs2FA4/qH8msWEjs20fc+ZpEeZep+HIv+c=,tag:aHrYNbI83POI4PRj1nd+Yw==,type:comment]
|
#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]
|
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]
|
#ENC[AES256_GCM,data:bnnxo/I=,iv:8jOo0P+8gk05O1vnxOiyGhaeD4wyuaaA3CCr8/DbzII=,tag:J6VSJZoko3EiWyn0ATcmqA==,type:comment]
|
||||||
@@ -101,8 +100,8 @@ sops:
|
|||||||
ZXFTU3ZCaW1pTVh0RUJzdDdGdHlPYTgK2mlgcX2kEc8+2UDdBnhUm6IIuh8V6agW
|
ZXFTU3ZCaW1pTVh0RUJzdDdGdHlPYTgK2mlgcX2kEc8+2UDdBnhUm6IIuh8V6agW
|
||||||
ooxH9OEPXUVI/4JcDo4v8ZUhAyU1ehLH0Ef7PJCChOZe2KZmWSNbhA==
|
ooxH9OEPXUVI/4JcDo4v8ZUhAyU1ehLH0Ef7PJCChOZe2KZmWSNbhA==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2023-12-08T08:32:56Z"
|
lastmodified: "2024-01-15T11:39:07Z"
|
||||||
mac: ENC[AES256_GCM,data:mE2I5XIv+xcbaaZmnXfxCYmb5BMGc+D4AqdmFeYDrUPLZgtaSZvJkP0pVDhJcRy7L5VooGgBaI/OFWrQMLgP0Oz2s092AwiDmCV8jLQQrXs1X+ABdHLXTLvjhnOMTk8ZV0KizWJLEuCFgZ0lS6mjVHQNDW1d2TNxAhM7JvTyOVw=,iv:BZw32WlqgQzz6j5gxS1U4l10K8C5YBZAvYotilBXPA0=,tag:oc4EqeWQK9kkPgiIHfiLjQ==,type:str]
|
mac: ENC[AES256_GCM,data:cjP8ZDujb+RhdK5fa51if+mlx2EpfA4TTmlRbExfIDnahM8deF7qmXhOXeRIF7TrdK7HrxxOsNm2F300sbtEV0CJBsu0Wf9V3JuCuf2deEhABVSEh5f44ZCg4fLCFKCidn6GZPGjk+nEbFd+U5elcDHaqbdhdMeu3iMIf/xncac=,iv:uTv//gOvqdOKWWFvDsvdix66UiHmKzf2Dz2FuJYCfcY=,tag:qzXfKyyltjZVN8sux5mElA==,type:str]
|
||||||
pgp: []
|
pgp: []
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.8.1
|
version: 3.8.1
|
||||||
|
|||||||
@@ -1,31 +0,0 @@
|
|||||||
xray-client:
|
|
||||||
uuid: ENC[AES256_GCM,data:WQUDaTeOsY61st6HQKjGKuVoQIy6Gpf0dMzJeIqMUV/4sihj,iv:R6IZzIAmn7rknxD5HWGRE618pdUyEWB0F2tO9+EfunI=,tag:u+50NAK8LwzyUNt0GVyabw==,type:str]
|
|
||||||
sops:
|
|
||||||
kms: []
|
|
||||||
gcp_kms: []
|
|
||||||
azure_kv: []
|
|
||||||
hc_vault: []
|
|
||||||
age:
|
|
||||||
- recipient: age19ax6vm3pv8rph5tq3mmehd9sy9jk823tw8svsd790r0lkslycquqvlwz9m
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaTmlZdld6eWtrZzVTR1Fs
|
|
||||||
RXhTczRsOVNrMWIyWm9ud1lzYVJUbGJnc2drCmVKTHlVNXFZUTh5bmlncHA1MmlE
|
|
||||||
UnovM0tONHBHTkY4TS9FRmRkRFkrcjgKLS0tIGxxbzV4Z09CdWkyY3d1MFBNL2dO
|
|
||||||
MGFMaGM3WW5LRXd1T2ZPTkpBdWRTR00Ktnuqblw4rS9fXb2CTzY7BjpDK6K1wx97
|
|
||||||
tV1FeuKcEXpp8AMKOdbKTOznnolI4sTnz2l0iP1m7bk6f9PGNjyQhw==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
- recipient: age1qrea4twxdhd7fnvlq5v45528c90qy6hp2wa55kghsxzgut6n6fxs7w6u42
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaQkxFc1U2R2RndVRHcisv
|
|
||||||
ZGg0VXhDYnpsQVV0Q3habXRiSHhTVTVUOUZ3CkFMUTMzL3NFcHpwaklZZStIYktW
|
|
||||||
WUpwWi9xQ3MyNXl1aVREcC9KeFlsWE0KLS0tIEJVR1VFRHNBSVVaVlJsNFJtWXAv
|
|
||||||
YmphYnp4YTQyV0VrT0h4RlNSRVptbkEKao+OYKlwgLcbMe75+RcdlxmYtvgheqp2
|
|
||||||
SwEhhlV8QNWylkOU+S38C3+oiQqlPZQkwOyBMfB5eoTUM8xCLjf1og==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
lastmodified: "2023-08-20T18:23:21Z"
|
|
||||||
mac: ENC[AES256_GCM,data:Dn2yxA/8GjPpmI5oWybiv0JNiiHDbleTtYZaM7GTMStP15N4Yo1tzVqlfzy6QWdLvcyZtoodamnry9yj+A7dP1sj0Fgkiq2FnzIp+JuJXkKH7AYWKugOmzKz7Kky2SEDU2r1UoucIbW9SRbgyukXPLpGRUGqIZNLR6OZ3w0atTA=,iv:sKyg1opbnQsQs/ZteTjEyarFU/HgmSSe+Frmvwfpylk=,tag:Sc6z4SnXOxICQ+TN7C6ZVA==,type:str]
|
|
||||||
pgp: []
|
|
||||||
unencrypted_suffix: _unencrypted
|
|
||||||
version: 3.7.3
|
|
||||||
Reference in New Issue
Block a user