Compare commits
6 Commits
fe5ec24090
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 9c1e54a9b4 | |||
| a614e65597 | |||
| 90a409b9b3 | |||
| 141f6f1b96 | |||
| 0b413e227c | |||
| 108c68424c |
4
Makefile
4
Makefile
@@ -4,6 +4,10 @@ switch:
|
||||
@echo "Rebuilding NixOS..."
|
||||
@nh os switch .
|
||||
|
||||
switch-slow:
|
||||
@echo "Rebuilding NixOS..."
|
||||
@nh os switch . -- --max-jobs 1
|
||||
|
||||
boot:
|
||||
@echo "Rebuilding NixOS..."
|
||||
@nh os boot .
|
||||
|
||||
54
README.md
54
README.md
@@ -1,54 +0,0 @@
|
||||
<h2 align="center">:snowflake: imxyy_soope_'s NixOS Config :snowflake:</h2>
|
||||
|
||||
> This configuration and READMEs in this repo borrows heavily from [ryan4yin/nix-config](https://github.com/ryan4yin/nix-config) and his
|
||||
> [cookbook](https://github.com/ryan4yin/nixos-and-flakes-book). Many thanks to his spirit of sharing!
|
||||
|
||||
This repository is home to the nix code that builds my systems:
|
||||
Currently, this repository contains the nix code that builds:
|
||||
|
||||
1. NixOS Desktop: NixOS with home-manager, niri, neovim, etc.
|
||||
2. NixOS home server
|
||||
3. NixOS WSL
|
||||
|
||||
See [./config/hosts](./config/hosts) for details of each host.
|
||||
|
||||
## Why NixOS & Flakes?
|
||||
|
||||
Nix allows for easy-to-manage, collaborative, reproducible deployments. This
|
||||
means that once something is setup and configured once, it works (almost)
|
||||
forever. If someone else shares their configuration, anyone else can just use it
|
||||
(if you really understand what you're copying/refering now).
|
||||
|
||||
As for Flakes, refer to
|
||||
[Introduction to Flakes - NixOS & Nix Flakes Book](https://nixos-and-flakes.thiscute.world/nixos-with-flakes/introduction-to-flakes)
|
||||
|
||||
## Components
|
||||
|
||||
| | NixOS(Wayland) |
|
||||
| ----------------------------- | :------------------------------------------------------ |
|
||||
| **Window Manager** | Niri |
|
||||
| **Terminal Emulator** | Alacritty & Kitty & Foot & Ghostty |
|
||||
| **Bar** | Waybar |
|
||||
| **Application Launcher** | wofi |
|
||||
| **Notification Daemon** | SwayNotificationCenter |
|
||||
| **Input method framework** | Fcitx5 |
|
||||
| **Shell** | Zsh |
|
||||
| **Netease Cloudmusic Player** | go-musicfox |
|
||||
| **Media Player** | mpv |
|
||||
| **Text Editor** | Neovim |
|
||||
| **Fonts** | Noto Sans CJK & Jetbrains Mono & Nerd Font |
|
||||
| **Filesystem** | btrfs subvolumes, clean '/' every boot for impermanence |
|
||||
|
||||
And more...
|
||||
|
||||
## Folder Structure
|
||||
|
||||
- `modules/` - custom NixOS modules
|
||||
- `config/base.nix` - generic configs
|
||||
- `config/hosts/<name>/` - hosts-specific configs
|
||||
- `lib/` - custom nix library
|
||||
- `pkgs/` - custom packages
|
||||
- `overlays/` - nixpkgs overlays
|
||||
- `vars.nix` - my variables
|
||||
- `secrets/` - secrets managed by sops-nix. see [./secrets](./secrets) for details
|
||||
- `flake.nix` - flake entry
|
||||
@@ -5,7 +5,13 @@
|
||||
...
|
||||
}:
|
||||
{
|
||||
hardware.nvidia.open = true;
|
||||
hardware.nvidia = {
|
||||
package = config.boot.kernelPackages.nvidiaPackages.latest;
|
||||
modesetting.enable = true;
|
||||
nvidiaSettings = true;
|
||||
open = true;
|
||||
};
|
||||
# services.xserver.videoDrivers = [ "nvidia" ];
|
||||
boot = {
|
||||
initrd = {
|
||||
availableKernelModules = [
|
||||
@@ -21,17 +27,23 @@
|
||||
};
|
||||
|
||||
kernelPackages = lib.mkForce pkgs.linuxPackages_cachyos;
|
||||
kernelModules = [ "kvm-amd" "mt76x2u" ];
|
||||
kernelModules = [
|
||||
"kvm-amd"
|
||||
"mt76x2u"
|
||||
];
|
||||
|
||||
tmp.useTmpfs = true;
|
||||
kernel.sysctl = {
|
||||
"fs.file-max" = 9223372036854775807;
|
||||
};
|
||||
};
|
||||
services.udev.extraRules = ''
|
||||
ATTR{idVendor}=="0e8d", ATTR{idProduct}=="2870", RUN+="${lib.getExe pkgs.usb-modeswitch} -K -v %s{idVendor} -p %s{idProduct}"
|
||||
'';
|
||||
services.scx.enable = true;
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "";
|
||||
device = "/dev/disk/by-uuid/9e8cdf88-769f-494c-aa87-503b63ac218b";
|
||||
fsType = "btrfs";
|
||||
options = [
|
||||
"compress=zstd"
|
||||
@@ -39,7 +51,7 @@
|
||||
};
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "";
|
||||
device = "/dev/disk/by-uuid/F028-F342";
|
||||
fsType = "vfat";
|
||||
options = [
|
||||
"uid=0"
|
||||
|
||||
@@ -9,21 +9,13 @@
|
||||
home.packages = with pkgs; [
|
||||
localsend
|
||||
|
||||
rclone
|
||||
|
||||
wpsoffice-cn
|
||||
wps-office-fonts
|
||||
ttf-wps-fonts
|
||||
evince
|
||||
|
||||
anki
|
||||
|
||||
ayugram-desktop
|
||||
telegram-desktop
|
||||
signal-desktop
|
||||
discord
|
||||
qq
|
||||
wechat
|
||||
wechat-uos
|
||||
|
||||
gnome-clocks
|
||||
|
||||
@@ -31,6 +23,17 @@
|
||||
|
||||
pavucontrol
|
||||
pamixer
|
||||
qqmusic
|
||||
|
||||
lumafly
|
||||
|
||||
scanmem
|
||||
|
||||
xmind
|
||||
|
||||
netease-cloud-music-gtk
|
||||
|
||||
maven
|
||||
];
|
||||
programs.zsh = {
|
||||
sessionVariables = {
|
||||
@@ -42,6 +45,17 @@
|
||||
fi
|
||||
'';
|
||||
};
|
||||
|
||||
programs.niri.settings = {
|
||||
outputs.HDMI-A-1 = {
|
||||
enable = true;
|
||||
mode = {
|
||||
width = 1920;
|
||||
height = 1080;
|
||||
refresh = 144.001;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
my = {
|
||||
autologin = {
|
||||
|
||||
@@ -54,32 +54,22 @@
|
||||
};
|
||||
};
|
||||
|
||||
sops.secrets.dae = {
|
||||
sopsFile = secrets.dae;
|
||||
format = "binary";
|
||||
};
|
||||
services.dae = {
|
||||
programs.clash-verge = {
|
||||
enable = true;
|
||||
configFile = config.sops.secrets.dae.path;
|
||||
};
|
||||
systemd.services.dae.after = [ "sops-nix.service" ];
|
||||
sops.secrets.mihomo = {
|
||||
sopsFile = secrets.mihomo;
|
||||
format = "yaml";
|
||||
key = "";
|
||||
};
|
||||
systemd.services.mihomo.after = [ "sops-nix.service" ];
|
||||
services.mihomo = {
|
||||
enable = true;
|
||||
configFile = config.sops.secrets.mihomo.path;
|
||||
webui = pkgs.metacubexd;
|
||||
serviceMode = true;
|
||||
tunMode = true;
|
||||
autoStart = true;
|
||||
};
|
||||
|
||||
sops.secrets.easytier = {
|
||||
sopsFile = secrets.easytier;
|
||||
format = "binary";
|
||||
};
|
||||
environment.systemPackages = [ pkgs.easytier ];
|
||||
environment.systemPackages = with pkgs; [
|
||||
inetutils
|
||||
|
||||
easytier
|
||||
];
|
||||
systemd.services."easytier" = {
|
||||
enable = true;
|
||||
script = "${pkgs.easytier}/bin/easytier-core -c ${config.sops.secrets.easytier.path}";
|
||||
|
||||
@@ -6,75 +6,6 @@
|
||||
secrets,
|
||||
...
|
||||
}:
|
||||
let
|
||||
btreset = pkgs.writeScriptBin "btreset" ''
|
||||
#!${lib.getExe pkgs.python3}
|
||||
|
||||
import subprocess
|
||||
import os
|
||||
import sys
|
||||
|
||||
SYM = "BT"
|
||||
|
||||
def action(line: str) -> bool:
|
||||
if line.find(SYM) == -1:
|
||||
return False
|
||||
temp = line.split(" ")
|
||||
bus = temp[1]
|
||||
device = temp[3][:-1]
|
||||
subprocess.run(["${lib.getExe usbreset}", f"/dev/bus/usb/{bus}/{device}"])
|
||||
return True
|
||||
|
||||
if __name__ == "__main__":
|
||||
if os.path.exists("/tmp/.btreseted") and len(sys.argv) == 1 and "-f" not in sys.argv[1:]:
|
||||
exit(0)
|
||||
res_byte = subprocess.check_output("/run/current-system/sw/bin/lsusb")
|
||||
res = res_byte.decode()
|
||||
lst = res.split("\n")
|
||||
|
||||
if any(tuple(map(action, lst))):
|
||||
with open("/tmp/.btreseted", "w"):
|
||||
...
|
||||
'';
|
||||
usbreset = pkgs.writeCBin "usbreset" ''
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#include <sys/ioctl.h>
|
||||
|
||||
#include <linux/usbdevice_fs.h>
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
const char *filename;
|
||||
int fd;
|
||||
int rc;
|
||||
|
||||
if (argc != 2) {
|
||||
fprintf(stderr, "Usage: usbreset device-filename\n");
|
||||
return 1;
|
||||
}
|
||||
filename = argv[1];
|
||||
|
||||
fd = open(filename, O_WRONLY);
|
||||
if (fd < 0) {
|
||||
perror("Error opening output file");
|
||||
return 1;
|
||||
}
|
||||
|
||||
printf("Resetting USB device %s\n", filename);
|
||||
rc = ioctl(fd, USBDEVFS_RESET, 0);
|
||||
if (rc < 0) {
|
||||
perror("Error in ioctl");
|
||||
return 1;
|
||||
}
|
||||
printf("Reset successful\n");
|
||||
|
||||
close(fd);
|
||||
return 0;
|
||||
}
|
||||
'';
|
||||
in
|
||||
{
|
||||
security.pam.loginLimits = [
|
||||
{
|
||||
@@ -85,11 +16,6 @@ in
|
||||
}
|
||||
];
|
||||
|
||||
systemd.services.btreset = {
|
||||
script = lib.getExe btreset;
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig.Type = "oneshot";
|
||||
};
|
||||
boot.kernelParams = [
|
||||
"usbcore.autosuspend=-1" # Avoid usb autosuspend (for usb bluetooth adapter)
|
||||
"fsck.mode=skip"
|
||||
@@ -141,6 +67,8 @@ in
|
||||
};
|
||||
users.extraUsers.${username}.extraGroups = [ "audio" ];
|
||||
|
||||
programs.nix-ld.enable = true;
|
||||
|
||||
fonts = {
|
||||
enableDefaultPackages = false;
|
||||
fontDir.enable = true;
|
||||
@@ -177,28 +105,9 @@ in
|
||||
|
||||
services.printing.enable = true;
|
||||
|
||||
services.keyd = {
|
||||
enable = true;
|
||||
keyboards.default.settings = {
|
||||
main = {
|
||||
capslock = "overload(control, esc)";
|
||||
home = "end";
|
||||
};
|
||||
shift = {
|
||||
home = "home";
|
||||
};
|
||||
control = {
|
||||
delete = "print";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.gvfs.enable = true;
|
||||
|
||||
programs.wireshark.enable = true;
|
||||
programs.wireshark.package = pkgs.wireshark;
|
||||
users.users.${username}.extraGroups = [ "wireshark" ];
|
||||
|
||||
/*
|
||||
services.sunshine = {
|
||||
enable = true;
|
||||
autoStart = true;
|
||||
@@ -210,6 +119,7 @@ in
|
||||
}
|
||||
];
|
||||
};
|
||||
*/
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
settings = {
|
||||
@@ -218,9 +128,4 @@ in
|
||||
PasswordAuthentication = true;
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = [
|
||||
pkgs.rclone
|
||||
btreset
|
||||
];
|
||||
}
|
||||
|
||||
167
flake.lock
generated
167
flake.lock
generated
@@ -37,11 +37,11 @@
|
||||
"base16-helix": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1748408240,
|
||||
"narHash": "sha256-9M2b1rMyMzJK0eusea0x3lyh3mu5nMeEDSc4RZkGm+g=",
|
||||
"lastModified": 1752979451,
|
||||
"narHash": "sha256-0CQM+FkYy0fOO/sMGhOoNL80ftsAzYCg9VhIrodqusM=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-helix",
|
||||
"rev": "6c711ab1a9db6f51e2f6887cc3345530b33e152e",
|
||||
"rev": "27cf1e66e50abc622fb76a3019012dc07c678fac",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -107,11 +107,11 @@
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753146705,
|
||||
"narHash": "sha256-WzmXODUzg8jeEsAhpmp55zk5I2fmv3kv+RofZ/+FYlg=",
|
||||
"lastModified": 1753875761,
|
||||
"narHash": "sha256-FqsfIWS0mQ5OzLRLFgVEBWew/7WROSNr8lvTJJ7AQ4w=",
|
||||
"owner": "chaotic-cx",
|
||||
"repo": "nyx",
|
||||
"rev": "02b3c2a45f6ddbd704f797c5730bc2d161f10ce0",
|
||||
"rev": "b184ca87254844a6c2098b27b4ab493e6faf6cf7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -128,11 +128,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753134819,
|
||||
"narHash": "sha256-K0dxmI2P5PG8sRkolcmSfPFd9ZCRvYgLLvMZJZyETaI=",
|
||||
"lastModified": 1753219021,
|
||||
"narHash": "sha256-wYL0oMGwFPbhYT0G2NcR4ud00TI06TEWOrvPpN4eNl0=",
|
||||
"owner": "Bali10050",
|
||||
"repo": "Darkly",
|
||||
"rev": "5d5696091e706fcdcf13b90affa3e9783b8b3ac0",
|
||||
"rev": "79ec260ff2a9af1f4de10e670c75b31b7fbcd5da",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -171,11 +171,11 @@
|
||||
"rust-analyzer-src": "rust-analyzer-src"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753166582,
|
||||
"narHash": "sha256-EUjND31oxYwWw9Nl6HPLbsruNpicUQU8T/ZwgqB/OCY=",
|
||||
"lastModified": 1753858083,
|
||||
"narHash": "sha256-9eNLBxVBaOLGTOC1QkwrzRtnb1x9MB/3PYLb+CiALZY=",
|
||||
"owner": "nix-community",
|
||||
"repo": "fenix",
|
||||
"rev": "a96e6ce7ec45c47aedad3728ef32de4ae4c0e416",
|
||||
"rev": "2c5508b7563b9138a00cd82e213febfc9cbbb36c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -457,11 +457,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1748528448,
|
||||
"narHash": "sha256-Tyn+PgBm78Ibq28/WbEz8+pYJZMdbJKsyXMCpT6TjrM=",
|
||||
"lastModified": 1751817769,
|
||||
"narHash": "sha256-j7ORyAJFNxYWwF+6fs2z5IcJ40TpVwrkFYU9/CGHwfA=",
|
||||
"owner": "imxyy1soope1",
|
||||
"repo": "go-musicfox",
|
||||
"rev": "1870fd3501631577ad4daef1489b03885abcb037",
|
||||
"rev": "179b9440b6f209e7fd6ade589117b72bdd9042a6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -500,11 +500,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753132348,
|
||||
"narHash": "sha256-0i3jU9AHuNXb0wYGzImnVwaw+miE0yW13qfjC0F+fIE=",
|
||||
"lastModified": 1753761827,
|
||||
"narHash": "sha256-mrVNT+aF4yR8P8Fx570W2vz+LzukSlf68Yr2YhUJHjo=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "e4bf85da687027cfc4a8853ca11b6b86ce41d732",
|
||||
"rev": "50adf8fcaa97c9d64309f2d507ed8be54ea23110",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -520,11 +520,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753132348,
|
||||
"narHash": "sha256-0i3jU9AHuNXb0wYGzImnVwaw+miE0yW13qfjC0F+fIE=",
|
||||
"lastModified": 1753888434,
|
||||
"narHash": "sha256-xQhSeLJVsxxkwchE4s6v1CnOI6YegCqeA1fgk/ivVI4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "e4bf85da687027cfc4a8853ca11b6b86ce41d732",
|
||||
"rev": "0630790b31d4547d79ff247bc3ba1adda3a017d9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -534,6 +534,27 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager_3": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"zen",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1752603129,
|
||||
"narHash": "sha256-S+wmHhwNQ5Ru689L2Gu8n1OD6s9eU9n9mD827JNR+kw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "e8c19a3cec2814c754f031ab3ae7316b64da085b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"impermanence": {
|
||||
"locked": {
|
||||
"lastModified": 1737831083,
|
||||
@@ -574,11 +595,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1752755091,
|
||||
"narHash": "sha256-H/k35QJLyQxkFnXR5ckMv/Z+ElNa5f22qNKdyGBMAn4=",
|
||||
"lastModified": 1753764272,
|
||||
"narHash": "sha256-8/tZ3ZJpplWaVxgMeRg26cUclBZ27UUnnJdzd+RQKqE=",
|
||||
"owner": "Jovian-Experiments",
|
||||
"repo": "Jovian-NixOS",
|
||||
"rev": "0d09755fe1df1886e5f07dbb16f7ed373080f86a",
|
||||
"rev": "448688ae3df3152fec412e583239473934109486",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -647,11 +668,11 @@
|
||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753132162,
|
||||
"narHash": "sha256-ycK2rB1kltXcrz5+dpldPngiYMukgaT2atwxhTjkIZQ=",
|
||||
"lastModified": 1753839324,
|
||||
"narHash": "sha256-ipcsHV+XE7gaItRhqLsjLCYKIk57IAP1s9BHajQRotA=",
|
||||
"owner": "sodiboo",
|
||||
"repo": "niri-flake",
|
||||
"rev": "f7cc80e3ad7e34ac523ba401ece49c4151fc19ca",
|
||||
"rev": "0108605855b3222c8965fa23fc05d713b77d0564",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -783,11 +804,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1752682362,
|
||||
"narHash": "sha256-ZNIpqCG/CfhmV+TgIeyO/XbhDjSWpwWokHM44j0Mn0w=",
|
||||
"lastModified": 1753704990,
|
||||
"narHash": "sha256-5E14xuNWy2Un1nFR55k68hgbnD8U2x/rE5DXJtYKusw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NixOS-WSL",
|
||||
"rev": "20001f9bf0aaf2b1c307e43a5eec8cf8f800fe14",
|
||||
"rev": "58c814cc6d4a789191f9c12e18277107144b0c91",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -798,11 +819,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1752950548,
|
||||
"narHash": "sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc=",
|
||||
"lastModified": 1753694789,
|
||||
"narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c87b95e25065c028d31a94f06a62927d18763fdf",
|
||||
"rev": "dc9637876d0dcc8c9e5e22986b857632effeb727",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -826,11 +847,11 @@
|
||||
},
|
||||
"nixpkgs-master": {
|
||||
"locked": {
|
||||
"lastModified": 1753168712,
|
||||
"narHash": "sha256-z3xENTx8CgQjxTYwpzFgp+IGcHuEYiObaCnsZ/n7Wf4=",
|
||||
"lastModified": 1753941802,
|
||||
"narHash": "sha256-pQt2gqpCCA0GWEqcm4IzvkbLw4fNMn6JNq+5BBPpyAM=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "52bfb2685fa0afc1394201103ab1c8511e74261e",
|
||||
"rev": "ed33ba16ce8e8605d8e9ef2dc6e802bc3134781d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -842,11 +863,11 @@
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1753168829,
|
||||
"narHash": "sha256-/xbkt7rKnCgpzjRTPiqJTsauV+w1FGSgLzFISTxulfg=",
|
||||
"lastModified": 1753907720,
|
||||
"narHash": "sha256-rkoY2MZqt8qZbL/R+kUAm9unGXeEBaRpyls/mvImbJQ=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ec031223f1f94bbbaca8f7d975cb5a7441f90505",
|
||||
"rev": "22e6141f9c24030dbbd0a7b7c55f5714830e22b5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -858,11 +879,11 @@
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1753088943,
|
||||
"narHash": "sha256-cIyYVyDTSR6K3+xUGvEO3GAtBsdBhBcDALqHK50QEIQ=",
|
||||
"lastModified": 1753904442,
|
||||
"narHash": "sha256-XHeb6yarZ9YLd3aQsnc0c8FrpnBGtHckQGZBPYXF7Uk=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "91b279d8c68718659084298ea287c73b5bf6df2c",
|
||||
"rev": "d02f407d2bb5a5cb2f2f75c2a7c30d5b854be11b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -922,11 +943,11 @@
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1752950548,
|
||||
"narHash": "sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc=",
|
||||
"lastModified": 1753694789,
|
||||
"narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c87b95e25065c028d31a94f06a62927d18763fdf",
|
||||
"rev": "dc9637876d0dcc8c9e5e22986b857632effeb727",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -942,11 +963,11 @@
|
||||
"nixpkgs": "nixpkgs_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753166477,
|
||||
"narHash": "sha256-ftWDv9eUl0cNsJfhwx7RrIZvtUt0SH3LoGsBZfGyWDw=",
|
||||
"lastModified": 1753942697,
|
||||
"narHash": "sha256-rZfW0XNiJVQojH9jBqifnccZykcIzugXxy+J4mZAl8E=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "690f8c0102a674b35ac4e919bb34a8ef10d0e84c",
|
||||
"rev": "fcab7393172a4a8821d70fe1df23b93fb3217ef7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -987,11 +1008,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753090730,
|
||||
"narHash": "sha256-QG14m53ZGp2Gk7xD2Q+Tf7RYCKfk/BYRaBtX3X4IKbc=",
|
||||
"lastModified": 1753595452,
|
||||
"narHash": "sha256-vqkSDvh7hWhPvNjMjEDV4KbSCv2jyl2Arh73ZXe274k=",
|
||||
"ref": "refs/heads/master",
|
||||
"rev": "db77c71c216530159c2dcf5b269ebb4706b2e2dd",
|
||||
"revCount": 653,
|
||||
"rev": "a5431dd02dc23d9ef1680e67777fed00fe5f7cda",
|
||||
"revCount": 665,
|
||||
"type": "git",
|
||||
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
||||
},
|
||||
@@ -1021,17 +1042,18 @@
|
||||
"nur": "nur",
|
||||
"quickshell": "quickshell",
|
||||
"sops-nix": "sops-nix",
|
||||
"stylix": "stylix"
|
||||
"stylix": "stylix",
|
||||
"zen": "zen"
|
||||
}
|
||||
},
|
||||
"rust-analyzer-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1753115469,
|
||||
"narHash": "sha256-5U3eokxjR/nTDQokJVZSL3j0THxQwWbYBpLO1dp8ZOw=",
|
||||
"lastModified": 1753789923,
|
||||
"narHash": "sha256-z45szWoM2UZJuo2791LnkI6agdtBhZFSo87elnhp/eI=",
|
||||
"owner": "rust-lang",
|
||||
"repo": "rust-analyzer",
|
||||
"rev": "9a1ee18e4dccc29c41d5c642860e58641d5ed0de",
|
||||
"rev": "e57f18480dc3b1a0f46cd83e2aaa1cf3b53d8ece",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1049,11 +1071,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753066249,
|
||||
"narHash": "sha256-j2UBrfDRIePGx3532Bbb9UeosNX2F73hfOAHtmACfnM=",
|
||||
"lastModified": 1753757591,
|
||||
"narHash": "sha256-3okLvry8fRWZhJZP75pPC9P6U1dcu84VOCPhPLXYozI=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "0751b65633a1785743ca44fd7c14a633c54c1f91",
|
||||
"rev": "b372cf71b4125d420d7648cbd898ab8f5c355be2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1103,11 +1125,11 @@
|
||||
"tinted-zed": "tinted-zed"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753117651,
|
||||
"narHash": "sha256-7gWBlUOe2c0nYGyoVDa9hw15pI3DXDR0KK+nYh9KOpU=",
|
||||
"lastModified": 1753919664,
|
||||
"narHash": "sha256-U7Ts8VbVD4Z6n67gFx00dkpQJu27fMu173IUopX3pNI=",
|
||||
"owner": "danth",
|
||||
"repo": "stylix",
|
||||
"rev": "ea60526c8c2a1c5df2743a9495814dc0b319ef3b",
|
||||
"rev": "30f5022236cf8dd257941cb0f910e198e7e464c7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1259,6 +1281,27 @@
|
||||
"repo": "xwayland-satellite",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"zen": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager_3",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1753933355,
|
||||
"narHash": "sha256-4QxMcKS6oc+cG8efwwAin4M+YOokBak1dVS8u5P3b5M=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "fa795a139a8c92b140bc21f11f61da1c97ad5b1d",
|
||||
"revCount": 608,
|
||||
"type": "git",
|
||||
"url": "https://gh-proxy.com/github.com/0xc000022070/zen-browser-flake"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "https://gh-proxy.com/github.com/0xc000022070/zen-browser-flake"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
||||
@@ -52,8 +52,8 @@
|
||||
fenix.url = "github:nix-community/fenix";
|
||||
fenix.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
# zen.url = "git+https://gh-proxy.com/github.com/0xc000022070/zen-browser-flake";
|
||||
# zen.inputs.nixpkgs.follows = "nixpkgs";
|
||||
zen.url = "git+https://gh-proxy.com/github.com/0xc000022070/zen-browser-flake";
|
||||
zen.inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
||||
infuse.url = "git+https://codeberg.org/amjoseph/infuse.nix";
|
||||
infuse.flake = false;
|
||||
@@ -90,6 +90,7 @@
|
||||
infuse = (import inputs.infuse { inherit (nixpkgs) lib; }).v1.infuse;
|
||||
in
|
||||
{
|
||||
|
||||
packages = forAllSystems (
|
||||
system:
|
||||
lib.haumea.load {
|
||||
@@ -160,7 +161,7 @@
|
||||
inputs.sops-nix.homeManagerModules.sops
|
||||
inputs.impermanence.nixosModules.home-manager.impermanence
|
||||
inputs.stylix.homeModules.stylix
|
||||
# inputs.zen.homeModules.beta
|
||||
inputs.zen.homeModules.beta
|
||||
# workaround for annoying stylix
|
||||
(
|
||||
{ lib, ... }:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
## Configuration file for CAVA. Default values are commented out. Use either ';' or '#' for commenting.
|
||||
#t Configuration rile for CAVA. Default values are commented out. Use either ';' or '#' for commenting.
|
||||
|
||||
|
||||
[general]
|
||||
|
||||
@@ -47,9 +47,9 @@ altScreen=true
|
||||
# 双列显示,开启务必使用等宽字体
|
||||
doubleColumn=true
|
||||
# 下载目录,默认为$HOME/.go-musicfox/download
|
||||
downloadDir=/home/imxyy/Music/go-musicfox
|
||||
downloadDir=/home/ccl/Music/go-musicfox
|
||||
# 缓存目录,默认为${MUSICFOX_ROOT}/cache
|
||||
cacheDir=/home/imxyy/Music/go-musicfox/.cache
|
||||
cacheDir=/home/ccl/Music/go-musicfox/.cache
|
||||
# 缓存大小(以MB为单位),0为不使用缓存,-1为不限制,默认为0
|
||||
cacheLimit=-1
|
||||
# 是否显示歌单下所有歌曲,默认不开启,仅获取歌单前1000首,开启后可能会占用更多内存(大量歌曲数据)和带宽(会同时发送多个请求获取歌单下歌曲数据)
|
||||
@@ -78,7 +78,7 @@ engine=mpd
|
||||
# mpd配置
|
||||
mpdBin=mpd
|
||||
# !!!注意!!! 一定要在配置文件中设置pid_file,否则在退出时不会kill掉mpd进程
|
||||
mpdConfigFile=/home/imxyy/.config/mpd/mpd.conf
|
||||
mpdConfigFile=/home/ccl/.config/mpd/mpd.conf
|
||||
mpdNetwork=tcp
|
||||
mpdAddr=127.0.0.1:6600
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
bind_to_address "127.0.0.1"
|
||||
port "6600"
|
||||
music_directory "/home/imxyy/Music/go-musicfox/.cache"
|
||||
pid_file "/home/imxyy/.config/mpd/mpd.pid"
|
||||
db_file "/home/imxyy/.config/mpd/mpd.db"
|
||||
music_directory "/home/ccl/Music/go-musicfox/.cache"
|
||||
pid_file "/home/ccl/.config/mpd/mpd.pid"
|
||||
db_file "/home/ccl/.config/mpd/mpd.db"
|
||||
|
||||
input {
|
||||
plugin "file"
|
||||
|
||||
@@ -199,7 +199,7 @@ net_auto = False
|
||||
net_sync = True
|
||||
|
||||
#* Starts with the Network Interface specified here.
|
||||
net_iface = "eth0"
|
||||
net_iface = "wlan0"
|
||||
|
||||
#* Show battery stats in top right if battery is present.
|
||||
show_battery = False
|
||||
|
||||
@@ -78,7 +78,7 @@ lib.my.makeSwitch {
|
||||
};
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
dotDir = ".config/zsh";
|
||||
dotDir = "${config.my.home.xdg.configHome}/zsh";
|
||||
history = {
|
||||
path = "${stateHome}/zsh_history";
|
||||
ignorePatterns = [
|
||||
|
||||
@@ -15,11 +15,11 @@ lib.my.makeHomeProgramConfig {
|
||||
extraConfig = {
|
||||
my.home = {
|
||||
programs.vscode = {
|
||||
package = pkgs.vscodium;
|
||||
package = pkgs.vscode;
|
||||
};
|
||||
};
|
||||
my.persist.homeDirs = [
|
||||
".config/VSCodium"
|
||||
".config/VSCode "
|
||||
".vscode-oss"
|
||||
];
|
||||
};
|
||||
|
||||
@@ -16,6 +16,7 @@ lib.my.makeSwitch {
|
||||
rust.enable = true;
|
||||
lua.enable = true;
|
||||
qml.enable = true;
|
||||
java.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
22
modules/coding/langs/java.nix
Normal file
22
modules/coding/langs/java.nix
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
lib.my.makeSwitch {
|
||||
inherit config;
|
||||
optionName = "java";
|
||||
optionPath = [
|
||||
"coding"
|
||||
"langs"
|
||||
"java"
|
||||
];
|
||||
config' = {
|
||||
my.home = {
|
||||
home.packages = with pkgs; [
|
||||
openjdk24
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -12,7 +12,7 @@ lib.my.makeSwitch {
|
||||
firefox.enable = true;
|
||||
librewolf.enable = true;
|
||||
chromium.enable = true;
|
||||
zen.enable = false;
|
||||
zen.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
lib.my.makeHomeProgramConfig {
|
||||
@@ -14,7 +13,6 @@ lib.my.makeHomeProgramConfig {
|
||||
];
|
||||
extraConfig = {
|
||||
my.home.programs.chromium = {
|
||||
package = pkgs.ungoogled-chromium;
|
||||
extensions = [
|
||||
{
|
||||
id = "jokpcbcafcbkjgcbjdcbadhfhimkafab"; # BitWarden
|
||||
|
||||
@@ -15,8 +15,6 @@ lib.my.makeSwitch {
|
||||
config' = {
|
||||
my.home.home.packages = with pkgs; [
|
||||
hmcl
|
||||
|
||||
openjdk21
|
||||
];
|
||||
|
||||
my.persist.homeDirs = [
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
input = {
|
||||
focus-follows-mouse = {
|
||||
enable = true;
|
||||
max-scroll-amount = "40%";
|
||||
};
|
||||
workspace-auto-back-and-forth = true;
|
||||
};
|
||||
|
||||
@@ -38,8 +38,8 @@ lib.my.makeSwitch {
|
||||
# Deduplicate and optimize nix store
|
||||
auto-optimise-store = true;
|
||||
substituters = [
|
||||
"https://mirror.sjtu.edu.cn/nix-channels/store"
|
||||
"https://mirrors.sjtug.sjtu.edu.cn/nix-channels/store"
|
||||
# "https://mirror.sjtu.edu.cn/nix-channels/store"
|
||||
"https://mirrors.ustc.edu.cn/nix-channels/store"
|
||||
"https://nix-community.cachix.org"
|
||||
"https://cache.nixos.org"
|
||||
|
||||
@@ -22,7 +22,17 @@
|
||||
cage.__output.patches.__append = [ ./cage-specify-output-name.patch ];
|
||||
matrix-synapse.__assign = final.stable.matrix-synapse;
|
||||
bottles.__input.removeWarningPopup.__assign = true;
|
||||
qq.__output.preInstall.__append = ''
|
||||
vscode.__output.preFixup.__append = ''
|
||||
gappsWrapperArgs+=(
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--wayland-text-input-version=3}}"
|
||||
)
|
||||
'';
|
||||
vscodium.__output.preFixup.__append = ''
|
||||
gappsWrapperArgs+=(
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--wayland-text-input-version=3}}"
|
||||
)
|
||||
'';
|
||||
qq.__output.preFixup.__append = ''
|
||||
gappsWrapperArgs+=(
|
||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--wayland-text-input-version=3}}"
|
||||
)
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"data": "ENC[AES256_GCM,data:Y1pk8xruLWz3AP/TQJZv3ZLlRiobT6j664LF6Jnxy+sRSs1+k0ak0UO2Rftmh2UBbZI6lSYmiP/Cq8Vjhvh8JGXMTi65gVfV4iA=,iv:zPvBDUW6FTKaNxrGFvJeO/Sf/DBDA6hdn4P2JiNW43o=,tag:aYzXwzftMXrRWDOeqbPjQg==,type:str]",
|
||||
"data": "ENC[AES256_GCM,data:/v/b9H5H5Aqczt/KzQ5BWkX6ns+FOgn547u1kEDI9reuWcYwIfmcnVWZ26VXVE0Rn7nRKGhfj/yOe7b8e+bxC3Em8Pk2eTBKSWw=,iv:Vyyx6Ls9dGP/DJ7BCRytAsRrGVuWXvJSwQAVX/s+VZU=,tag:4zza/uyZ4MzmdjeHZRbAAw==,type:str]",
|
||||
"sops": {
|
||||
"age": [
|
||||
{
|
||||
@@ -7,8 +7,8 @@
|
||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXb0dRanU3MkdIemgxZWpz\nQm4zYUNJa2JJa3ZKR0t4L09WVUk4Y1hTOTNFCkEyM0p4Z2hGenVhNVpCaXdpdlVa\nMnJmbi9UUVgxZm9xZGQ2cjVNQ1lheUUKLS0tIEY1Rit6eVhIWjVBdlNtc3IzZVJs\nS2ZKV050cW5QNTkzMU8rUmZtekxjajQKfmXUBNJtiqJtMzSPw3IRb1KdSQh3liub\noZLMouUJJiW5GukVZRmW7zOV6nuAiXjUBgZo7BTJZBeSJQfKsfqazw==\n-----END AGE ENCRYPTED FILE-----\n"
|
||||
}
|
||||
],
|
||||
"lastmodified": "2025-07-25T04:10:28Z",
|
||||
"mac": "ENC[AES256_GCM,data:6ixTAxBMTZu1PmONemo9FmLV0GLZ9ECZEKV6UtYQU16UQj/EHnuOJRQI5FiqZAfqIEDhXagotpfPcpHwA1Rbeb2NohMfNLZ9a4ZbtrWQhgLk4rgTexP89Ctu+9A9usF+V4K3u1o7/QKYHBk9JyPZnc8FPe+FQk8oVXYGXaLVPUM=,iv:H5sn681doFdt2TDOGbrytHYi2ZlWj4LgcQYtlNJe3TA=,tag:rx9A0e/Won5uyVfcp45Gfg==,type:str]",
|
||||
"lastmodified": "2025-07-25T10:49:14Z",
|
||||
"mac": "ENC[AES256_GCM,data:s5bh7E4IYt14kkk95GgtorFQbfLQ4QA8vSYA93pvqkd9h+e1VNnaS5fyEwIaAev8M7avyw8knJjgx8bfkpXonA6udthpdZiXIRgwTcx8v/uKkq68W3daBuv/6wVd6uMQwRVwe10V7UJshbHLEzQrmq2laV2DJZSgDqeiLKPLWIk=,iv:tJJcmU5psNRGNURZ3y34D96ClBk9QyvpmWKGwviBuok=,tag:cAKxeUgu8FaX705nJt119w==,type:str]",
|
||||
"unencrypted_suffix": "_unencrypted",
|
||||
"version": "3.10.2"
|
||||
}
|
||||
|
||||
@@ -1,110 +0,0 @@
|
||||
allow-lan: ENC[AES256_GCM,data:/NS2lg==,iv:rdjmAyJ5hQZsaqf9xLTuu9103mlBrJ5rRpWcRg4unfA=,tag:wIjPvBgmBZ4U6HRnAyZmzw==,type:bool]
|
||||
bind-address: ENC[AES256_GCM,data:lQ==,iv:Il8zZQY8bkOQq82n9FfEJxfllYkL0XSz3w8fIQF5nLg=,tag:Um/lxN3hrQP/ojS3tvkh0A==,type:str]
|
||||
mixed-port: ENC[AES256_GCM,data:3pO+YQ==,iv:d5fQRnaXwELshI267IRhNrBi+lrkE1tAVQtGWbTTL58=,tag:bjvnJGc/ot0mwWJlXZdAGg==,type:int]
|
||||
mode: ENC[AES256_GCM,data:tLvZMA==,iv:ZTHCuf/fGBrqXKy1U8FqCPOPk/xhwXH+d+LCeuU1YN0=,tag:XSvkAx/HGQInFcxod6p7ag==,type:str]
|
||||
log-level: ENC[AES256_GCM,data:GjK0SA==,iv:p3B73kKmAklWWsrQZJYT8KnH5I4SyGHaFWo6fqr57V0=,tag:LvOxkFkNOBo3GAj9Gx1l8g==,type:str]
|
||||
ipv6: ENC[AES256_GCM,data:TkqT508=,iv:vYn61sFKuKeDqC3pCBMvn/SZaxTmuUA1Dp5r+Wyjl0c=,tag:iT6e7MPvLtMVntqZrdVWfA==,type:bool]
|
||||
external-controller: ENC[AES256_GCM,data:DuI/L1mDF5soS5aS,iv:1U5msjsK1kLCUEWmhRp3poKFnTa4T2wgq08WtLn+NDs=,tag:iqQF8LHCAWGvMuKrf2ieYA==,type:str]
|
||||
external-controller-cors:
|
||||
allow-origins:
|
||||
- ENC[AES256_GCM,data:Ow==,iv:C2R4gooPGj4lranMXP6Uu+nCbGhVk1S37dBKbYgdsRU=,tag:onXhjT4c/qMoayForPKwEQ==,type:str]
|
||||
allow-private-network: ENC[AES256_GCM,data:mxDrog==,iv:L4hT2zLieK7nQnp5GvdHTsnSkeTz61v77nr281lAcag=,tag:jCQgs+0aDrl7BSZYxI7qUw==,type:bool]
|
||||
proxies:
|
||||
- name: ENC[AES256_GCM,data:CoSf2ETY,iv:stqOA3auCgfdMF5dtHrxUtM1fmrjpBzF++Oq4CaaxDw=,tag:Ep8+Do2KSGyyI3htJMyO+Q==,type:str]
|
||||
type: ENC[AES256_GCM,data:h0grklnXHcch,iv:iyAYk+ozaR+lFYgqPU/7HN5zXhphBnGNu6boqwbGhwM=,tag:Jjh/GrkKo/Vw9OUshTz+aw==,type:str]
|
||||
server: ENC[AES256_GCM,data:fByASUq0i6vl00aT,iv:m7iykG0sJnyjBSuu9qD78bS918FD3fj9Gak0cBSidJw=,tag:U0y1WHvOmQ6f3qnz1Qs+Ag==,type:str]
|
||||
port: ENC[AES256_GCM,data:D/2Y,iv:/TOva98IWHrSeNHeFPkMq/GzkRu5k7RgddR0V5fp1mw=,tag:rS/kTisQ5Im4mcczmYpK/g==,type:int]
|
||||
ports: ENC[AES256_GCM,data:Y/HnLKFSNVJC3WM=,iv:kiQw+GKtY3n0+mP2Tt7HiQTALs+6sTWpFdsygWy+1S4=,tag:/C7yfaEWV01rJ5y0kifs5A==,type:str]
|
||||
password: ENC[AES256_GCM,data:41qnTwmzIWiGA8eVCWs7sq6gpg==,iv:6G8Zxi8P9h9wCF303ADTuOAV830NErok1bN2neFx8jM=,tag:6JxLB9sSF+2MzZAnTz7qsw==,type:str]
|
||||
up: ENC[AES256_GCM,data:d6L+m9ArMrM=,iv:EqD8slVt/Wf8Edj6qTKt2qFovgGDDBEUN+YFPF8ug7M=,tag:8FIxAgkKF4fu4Z8Zauar2Q==,type:str]
|
||||
down: ENC[AES256_GCM,data:RM5qROOyjsvf,iv:ESOrGbRPijJ9ptQrEduG3PW3CsuqCbneUxZg05lRcq4=,tag:FT/s5TYu+54byvfxv7eKvQ==,type:str]
|
||||
sni: ENC[AES256_GCM,data:p7XIiaPEC5UUe0Hc,iv:CgLd9lQ9ivfouzxihzR/OX8KgvIvyj0DktI5YYZ6epE=,tag:EzBxiAuEeEz2jyF0M5Ee6A==,type:str]
|
||||
skip-cert-verify: ENC[AES256_GCM,data:uea1ExU=,iv:z7oRGpeLjzXA1RB5E3ucJu/bPo110v81AFR+4dDQYwA=,tag:AsorLzyJfwJNsJShlXQBtw==,type:bool]
|
||||
alpn:
|
||||
- ENC[AES256_GCM,data:0HY=,iv:I1stdmbZ2wKbYBN7bRLtz+4Ma7j8xect4HS9g0PKl0o=,tag:vI+jTgZWJSyag0dhXi0MKw==,type:str]
|
||||
- name: ENC[AES256_GCM,data:I/gOScJ4PYyG,iv:Wi3x1D25WX/m28FYenmU+g/laqosIHe0YpFQGYTIAAI=,tag:Vg/KqSIhxVetaloyeEp2FA==,type:str]
|
||||
type: ENC[AES256_GCM,data:C7hjfARP,iv:r+5/qimlashka+qMjrtlsOEMBFuN8/4SDrzzW/WM+KE=,tag:VVpvomQxVFxh/GTRW59p6g==,type:str]
|
||||
server: ENC[AES256_GCM,data:fByASUq0i6vl00aT,iv:m7iykG0sJnyjBSuu9qD78bS918FD3fj9Gak0cBSidJw=,tag:U0y1WHvOmQ6f3qnz1Qs+Ag==,type:str]
|
||||
port: ENC[AES256_GCM,data:x46frQ==,iv:y3ZtVJQP3q08duFGUXSH5xLo9Q6GZmGvhmCKzNiztfE=,tag:2k6WGrK1wGa4QwOYJHnwkw==,type:int]
|
||||
password: ENC[AES256_GCM,data:SoxJyZJLwxRQoErQ1ZHObnM=,iv:YVDRtTb0P15vA67ZUQgCBX1s16iqjrtG0oodE9RPDMI=,tag:zsKj2mwEWwDtJ9QGtbix2g==,type:str]
|
||||
sni: ENC[AES256_GCM,data:p7XIiaPEC5UUe0Hc,iv:CgLd9lQ9ivfouzxihzR/OX8KgvIvyj0DktI5YYZ6epE=,tag:EzBxiAuEeEz2jyF0M5Ee6A==,type:str]
|
||||
skip-cert-verify: ENC[AES256_GCM,data:uea1ExU=,iv:z7oRGpeLjzXA1RB5E3ucJu/bPo110v81AFR+4dDQYwA=,tag:AsorLzyJfwJNsJShlXQBtw==,type:bool]
|
||||
alpn:
|
||||
- ENC[AES256_GCM,data:bG8=,iv:7UIRMQ7KGnZUPvfFMGLcworWFQFdd9toCasEeg/IEco=,tag:QwkRWsGXBGxODKIasUqXuA==,type:str]
|
||||
- name: ENC[AES256_GCM,data:M1xh1A7B,iv:fmajJEeiZ6g9QCzmX9dAqJxcWgNKd17nDqQW+DVHAXI=,tag:2k+lMI4SgUFOYYN561NDaw==,type:str]
|
||||
type: ENC[AES256_GCM,data:h0grklnXHcch,iv:iyAYk+ozaR+lFYgqPU/7HN5zXhphBnGNu6boqwbGhwM=,tag:Jjh/GrkKo/Vw9OUshTz+aw==,type:str]
|
||||
server: ENC[AES256_GCM,data:UlqxHe1H1J1OH4Ld,iv:um1xP8HAqMTv8sqZewFBFaIoKq5MaVqultx7q9A9v4A=,tag:gGR1Uxwcap2gZYBmPuG76A==,type:str]
|
||||
port: ENC[AES256_GCM,data:D/2Y,iv:/TOva98IWHrSeNHeFPkMq/GzkRu5k7RgddR0V5fp1mw=,tag:rS/kTisQ5Im4mcczmYpK/g==,type:int]
|
||||
ports: ENC[AES256_GCM,data:Y/HnLKFSNVJC3WM=,iv:kiQw+GKtY3n0+mP2Tt7HiQTALs+6sTWpFdsygWy+1S4=,tag:/C7yfaEWV01rJ5y0kifs5A==,type:str]
|
||||
password: ENC[AES256_GCM,data:41qnTwmzIWiGA8eVCWs7sq6gpg==,iv:6G8Zxi8P9h9wCF303ADTuOAV830NErok1bN2neFx8jM=,tag:6JxLB9sSF+2MzZAnTz7qsw==,type:str]
|
||||
up: ENC[AES256_GCM,data:d6L+m9ArMrM=,iv:EqD8slVt/Wf8Edj6qTKt2qFovgGDDBEUN+YFPF8ug7M=,tag:8FIxAgkKF4fu4Z8Zauar2Q==,type:str]
|
||||
down: ENC[AES256_GCM,data:RM5qROOyjsvf,iv:ESOrGbRPijJ9ptQrEduG3PW3CsuqCbneUxZg05lRcq4=,tag:FT/s5TYu+54byvfxv7eKvQ==,type:str]
|
||||
sni: ENC[AES256_GCM,data:rkDSKvEwqgNZE4Yh,iv:Nfi9j5/IKygbSDgBAvAzHrqEYFMQPXjdI3aKHNiFdFs=,tag:N7MZw4nUOGlo4RIo08DAmA==,type:str]
|
||||
skip-cert-verify: ENC[AES256_GCM,data:uea1ExU=,iv:z7oRGpeLjzXA1RB5E3ucJu/bPo110v81AFR+4dDQYwA=,tag:AsorLzyJfwJNsJShlXQBtw==,type:bool]
|
||||
alpn:
|
||||
- ENC[AES256_GCM,data:0HY=,iv:I1stdmbZ2wKbYBN7bRLtz+4Ma7j8xect4HS9g0PKl0o=,tag:vI+jTgZWJSyag0dhXi0MKw==,type:str]
|
||||
- name: ENC[AES256_GCM,data:524kL2VUV/Zr,iv:up5Map4oTAPmalvdpiZAob4wrxMAPu9w3Nk8VclDPOI=,tag:9FKxdoiHzUI9LBpt9QOy4g==,type:str]
|
||||
type: ENC[AES256_GCM,data:C7hjfARP,iv:r+5/qimlashka+qMjrtlsOEMBFuN8/4SDrzzW/WM+KE=,tag:VVpvomQxVFxh/GTRW59p6g==,type:str]
|
||||
server: ENC[AES256_GCM,data:UlqxHe1H1J1OH4Ld,iv:um1xP8HAqMTv8sqZewFBFaIoKq5MaVqultx7q9A9v4A=,tag:gGR1Uxwcap2gZYBmPuG76A==,type:str]
|
||||
port: ENC[AES256_GCM,data:x46frQ==,iv:y3ZtVJQP3q08duFGUXSH5xLo9Q6GZmGvhmCKzNiztfE=,tag:2k6WGrK1wGa4QwOYJHnwkw==,type:int]
|
||||
password: ENC[AES256_GCM,data:SoxJyZJLwxRQoErQ1ZHObnM=,iv:YVDRtTb0P15vA67ZUQgCBX1s16iqjrtG0oodE9RPDMI=,tag:zsKj2mwEWwDtJ9QGtbix2g==,type:str]
|
||||
sni: ENC[AES256_GCM,data:rkDSKvEwqgNZE4Yh,iv:Nfi9j5/IKygbSDgBAvAzHrqEYFMQPXjdI3aKHNiFdFs=,tag:N7MZw4nUOGlo4RIo08DAmA==,type:str]
|
||||
skip-cert-verify: ENC[AES256_GCM,data:uea1ExU=,iv:z7oRGpeLjzXA1RB5E3ucJu/bPo110v81AFR+4dDQYwA=,tag:AsorLzyJfwJNsJShlXQBtw==,type:bool]
|
||||
alpn:
|
||||
- ENC[AES256_GCM,data:bG8=,iv:7UIRMQ7KGnZUPvfFMGLcworWFQFdd9toCasEeg/IEco=,tag:QwkRWsGXBGxODKIasUqXuA==,type:str]
|
||||
- name: ENC[AES256_GCM,data:1M31k80NuPJaT90=,iv:3EMCEptjHXOHDOkPcfLw0BHR/eOAndYLtJyXFIM8Xwg=,tag:di9w082wTA1mk8iu8oA8yQ==,type:str]
|
||||
type: ENC[AES256_GCM,data:h0grklnXHcch,iv:iyAYk+ozaR+lFYgqPU/7HN5zXhphBnGNu6boqwbGhwM=,tag:Jjh/GrkKo/Vw9OUshTz+aw==,type:str]
|
||||
server: ENC[AES256_GCM,data:xPCnWkVYwD2Ty0IzUJPvY6U=,iv:Vz2QPfHSsVc3jVWj4hPNkMl2zCAvQgb9UdmMTEjdLHM=,tag:Ym1vSk7J5Zfi5UAVoCNq7Q==,type:str]
|
||||
port: ENC[AES256_GCM,data:D/2Y,iv:/TOva98IWHrSeNHeFPkMq/GzkRu5k7RgddR0V5fp1mw=,tag:rS/kTisQ5Im4mcczmYpK/g==,type:int]
|
||||
ports: ENC[AES256_GCM,data:Y/HnLKFSNVJC3WM=,iv:kiQw+GKtY3n0+mP2Tt7HiQTALs+6sTWpFdsygWy+1S4=,tag:/C7yfaEWV01rJ5y0kifs5A==,type:str]
|
||||
password: ENC[AES256_GCM,data:41qnTwmzIWiGA8eVCWs7sq6gpg==,iv:6G8Zxi8P9h9wCF303ADTuOAV830NErok1bN2neFx8jM=,tag:6JxLB9sSF+2MzZAnTz7qsw==,type:str]
|
||||
up: ENC[AES256_GCM,data:d6L+m9ArMrM=,iv:EqD8slVt/Wf8Edj6qTKt2qFovgGDDBEUN+YFPF8ug7M=,tag:8FIxAgkKF4fu4Z8Zauar2Q==,type:str]
|
||||
down: ENC[AES256_GCM,data:RM5qROOyjsvf,iv:ESOrGbRPijJ9ptQrEduG3PW3CsuqCbneUxZg05lRcq4=,tag:FT/s5TYu+54byvfxv7eKvQ==,type:str]
|
||||
sni: ENC[AES256_GCM,data:+PlKKl8N73CiANmWYnMLQDI=,iv:NizAQl+xLuvJHVpGfzrJLNa1b+B7q2SbIHpLjdoUjfY=,tag:tdNPsIgMO1s3CRggRm+gpA==,type:str]
|
||||
skip-cert-verify: ENC[AES256_GCM,data:uea1ExU=,iv:z7oRGpeLjzXA1RB5E3ucJu/bPo110v81AFR+4dDQYwA=,tag:AsorLzyJfwJNsJShlXQBtw==,type:bool]
|
||||
alpn:
|
||||
- ENC[AES256_GCM,data:0HY=,iv:I1stdmbZ2wKbYBN7bRLtz+4Ma7j8xect4HS9g0PKl0o=,tag:vI+jTgZWJSyag0dhXi0MKw==,type:str]
|
||||
- name: ENC[AES256_GCM,data:zKRNc9xfDgCx8Yxpp0I=,iv:plmHDReDGfVCz1i7QlN/Oo+5hhME2mw0il+LdgE+pN4=,tag:BtXj8qG5UeAYMAbcWSRnaQ==,type:str]
|
||||
type: ENC[AES256_GCM,data:C7hjfARP,iv:r+5/qimlashka+qMjrtlsOEMBFuN8/4SDrzzW/WM+KE=,tag:VVpvomQxVFxh/GTRW59p6g==,type:str]
|
||||
server: ENC[AES256_GCM,data:xPCnWkVYwD2Ty0IzUJPvY6U=,iv:Vz2QPfHSsVc3jVWj4hPNkMl2zCAvQgb9UdmMTEjdLHM=,tag:Ym1vSk7J5Zfi5UAVoCNq7Q==,type:str]
|
||||
port: ENC[AES256_GCM,data:x46frQ==,iv:y3ZtVJQP3q08duFGUXSH5xLo9Q6GZmGvhmCKzNiztfE=,tag:2k6WGrK1wGa4QwOYJHnwkw==,type:int]
|
||||
password: ENC[AES256_GCM,data:SoxJyZJLwxRQoErQ1ZHObnM=,iv:YVDRtTb0P15vA67ZUQgCBX1s16iqjrtG0oodE9RPDMI=,tag:zsKj2mwEWwDtJ9QGtbix2g==,type:str]
|
||||
sni: ENC[AES256_GCM,data:+PlKKl8N73CiANmWYnMLQDI=,iv:NizAQl+xLuvJHVpGfzrJLNa1b+B7q2SbIHpLjdoUjfY=,tag:tdNPsIgMO1s3CRggRm+gpA==,type:str]
|
||||
skip-cert-verify: ENC[AES256_GCM,data:uea1ExU=,iv:z7oRGpeLjzXA1RB5E3ucJu/bPo110v81AFR+4dDQYwA=,tag:AsorLzyJfwJNsJShlXQBtw==,type:bool]
|
||||
alpn:
|
||||
- ENC[AES256_GCM,data:bG8=,iv:7UIRMQ7KGnZUPvfFMGLcworWFQFdd9toCasEeg/IEco=,tag:QwkRWsGXBGxODKIasUqXuA==,type:str]
|
||||
proxy-providers:
|
||||
ykk:
|
||||
type: ENC[AES256_GCM,data:QFH7Kw==,iv:uBwdbVdfQuoJ4wIxT9lAS/b0C167IwJbD2KhrB1VzkM=,tag:8ogC9VITAOfeMtceq20Wtw==,type:str]
|
||||
url: ENC[AES256_GCM,data:aTVsXCfaCkdZes1CW8SJVQFiTZ/KbYky6ei0FKSmeCF8/TbaLIKKR46FX2yQ8682fdcLGcAB8ekblQ==,iv:7OQ69sjVWNyOrPVlA8DWTAbw/LIVzFFm5dK4FBcwvyk=,tag:gLVzTM5PypNLpaIOiPYc/Q==,type:str]
|
||||
proxy: ENC[AES256_GCM,data:BIEXrZQ=,iv:ZzEEJmLgbOhBTcZEgPfsL0AC72GpydlFTKhJ4+fgTec=,tag:v8URxwAU5wSHD5GPr/sTfw==,type:str]
|
||||
exclude-filter: ENC[AES256_GCM,data:Uc9L0zm7TWGAgIQq6thwK4evIuYoEJyRJ2M=,iv:CbJp7BcobOfkxyY7/fvaECif57yhPZ1/IuPjLwYUwUQ=,tag:xtGissYFtBX3OVinstWRug==,type:str]
|
||||
proxy-groups:
|
||||
- name: ENC[AES256_GCM,data:O6LAzFQ=,iv:a+dfdy14adLlYbJQ5wAQLsD5hxuEXKW8Y/erhBVAREE=,tag:79++dpg2E2Mtc8y63nRcHw==,type:str]
|
||||
type: ENC[AES256_GCM,data:JR3d3D1p,iv:n0u8vayA0PVDM7yvh2pk36S8EeqMnZRN8TZlwNnEC3U=,tag:ZmxXOralviL2xyd8+hN3ZA==,type:str]
|
||||
proxies:
|
||||
- ENC[AES256_GCM,data:IEFd/SNk,iv:JFLQaa5nk02nXesGC1fcyV7LexOa4dHjjqNKlttwp4Y=,tag:DeP4oT3xcfOEzff8RwoZyQ==,type:str]
|
||||
- ENC[AES256_GCM,data:W4BYLRg/tYN3,iv:QfLjSOm/tVDihmgUaFAI3fp2+c0kSil34pdR2pZobLw=,tag:aLvSMitNmxbgFU/mapYgwg==,type:str]
|
||||
- ENC[AES256_GCM,data:heJ5CLaS,iv:yF6YaM4UmxcwgPMgbi5shzLC4fv+yNX15rVLRCos6c4=,tag:+0EKyuEHx2hu7BEXZEdJew==,type:str]
|
||||
- ENC[AES256_GCM,data:fDVLR0770KUF,iv:prsxi6lcvMg6I+2o4rlAYuepUdjAPHpFfzCf6LyXj3M=,tag:rXMVs9EBOq5oCWHYtesZXQ==,type:str]
|
||||
- ENC[AES256_GCM,data:iYSMK4S+yuT9p9s=,iv:yBGjJSYItlzA6mBDdHYgcx0oM+WL5CfgWB68cFOmvXc=,tag:49lgLg8hE9hs3Pbv6nZTkg==,type:str]
|
||||
- ENC[AES256_GCM,data:BRdw54Oq5sR2SaFXg/U=,iv:yS1MyVh0MjxctPFE1D3wrbVqztJJM8JP0gtkqgu6zdY=,tag:rJtHptplT8ZiPOXiQqvr8w==,type:str]
|
||||
use:
|
||||
- ENC[AES256_GCM,data:hGy4,iv:LS9vHmdXUMuy0Na1z5YMpB+vEwKFLfezsftdWcWjTv0=,tag:lueXcksvaPC1yKpHT2zUag==,type:str]
|
||||
rules:
|
||||
- ENC[AES256_GCM,data:S6yGMmG4UUUWE04=,iv:FWz0kNu0hhQ+PyIMSxl6NPX/INluS7jAO9loX+E+jlE=,tag:tXK35hMiYDU8X0yl+0PRuQ==,type:str]
|
||||
sops:
|
||||
age:
|
||||
- recipient: age18st0pys7g9dtezwq9n8t8jgc9w6ajzp5jl8w7sxlpv9lhv463u2swelwug
|
||||
enc: |
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuMEx0bExNaVh0YnZaYjdm
|
||||
aHIrbTdIYzVrNW9sd2tSQXkzM3kxTWt5R3lzClRLY0JGZFBvV2JZUFdEenFzRGhV
|
||||
bnNBRXAvYlEzQzVFSzd0R3NUVUZVbjQKLS0tIGdyTGRMODFscExzQlZWaTJabGhZ
|
||||
MlpjVzBaYjNFdldRcVJuQ1hDRk4rd0EKS4r1s2rYEf1ROxoReQNa0oJlqghf0enk
|
||||
iMidEQeNsfVl36Z/bFoXBwZBBR6Ts+yXC2ubZInM0a4pDu7ROn61Yw==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2025-07-12T13:49:28Z"
|
||||
mac: ENC[AES256_GCM,data:/APVRajT68Ysyd8fPKrU3eHX9V1lyRVBhLFUh6rxkAudwmxqKP0O4AcNl5p1ICdPkItSBKGzxHlOkjDDIK5d/dYKJjGzLxAvyVxoJwcmLGHZuPEpLS1gsElw9lpQRJxVbbm7A0tb2PeoUgaPm/jMETrg0FL8jsstOQomd06izJQ=,iv:cdkRZjiBYIK+dIQ7pIclRTeDaPnJ/w6c9hs1ttywmOY=,tag:UlDYkcjkGqWKC4sDurwyfA==,type:str]
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.10.2
|
||||
Reference in New Issue
Block a user