before refactor the arch of configuration.
This commit is contained in:
parent
19ef41633b
commit
6be554822c
12 changed files with 884 additions and 92 deletions
|
|
@ -12,6 +12,7 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
|
boot.kernelPackages = pkgs.linuxPackages_zen;
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
|
|
@ -33,6 +34,19 @@
|
||||||
networkmanager.enable = false;
|
networkmanager.enable = false;
|
||||||
useNetworkd = true;
|
useNetworkd = true;
|
||||||
useDHCP = false;
|
useDHCP = false;
|
||||||
|
|
||||||
|
wireless.iwd = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
General = {
|
||||||
|
EnableNetworkConfiguration = true;
|
||||||
|
};
|
||||||
|
Network = {
|
||||||
|
EnableIPv6 = true;
|
||||||
|
NameResolvingService = "systemd";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
systemd.network = {
|
systemd.network = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -87,13 +101,17 @@
|
||||||
|
|
||||||
# Enable the X11 windowing system.
|
# Enable the X11 windowing system.
|
||||||
# You can disable this if you're only using the Wayland session.
|
# You can disable this if you're only using the Wayland session.
|
||||||
services.xserver.enable = true;
|
services.xserver = {
|
||||||
|
display = 0;
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
# Enable the KDE Plasma Desktop Environment.
|
# Enable the KDE Plasma Desktop Environment.
|
||||||
# services.displayManager.sddm.enable = true;
|
# services.displayManager.sddm.enable = true;
|
||||||
# services.desktopManager.plasma6.enable = true;
|
# services.desktopManager.plasma6.enable = true;
|
||||||
services.desktopManager.cosmic.enable = true;
|
services.desktopManager.cosmic.enable = true;
|
||||||
services.displayManager.cosmic-greeter.enable = true;
|
services.displayManager.cosmic-greeter.enable = true;
|
||||||
|
programs.niri.enable = true;
|
||||||
|
|
||||||
# Configure keymap in X11
|
# Configure keymap in X11
|
||||||
services.xserver.xkb = {
|
services.xserver.xkb = {
|
||||||
|
|
@ -142,7 +160,7 @@
|
||||||
programs.localsend.enable = true;
|
programs.localsend.enable = true;
|
||||||
|
|
||||||
# Enable sound with pipewire.
|
# Enable sound with pipewire.
|
||||||
hardware.pulseaudio.enable = false;
|
services.pulseaudio.enable = false;
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -179,6 +197,7 @@
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
# List packages installed in system profile. To search, run:
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
nix-output-monitor
|
||||||
wget
|
wget
|
||||||
git
|
git
|
||||||
vim
|
vim
|
||||||
|
|
@ -219,4 +238,5 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
system.stateVersion = "24.11"; # Did you read the comment?
|
system.stateVersion = "24.11"; # Did you read the comment?
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
416
flake.lock
generated
416
flake.lock
generated
|
|
@ -15,6 +15,25 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"dae": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-parts": "flake-parts",
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1735839355,
|
||||||
|
"narHash": "sha256-lpCluUgqSIZYgVlc9nxm9+dBN5UWjTXodgGjyHL86HM=",
|
||||||
|
"owner": "daeuniverse",
|
||||||
|
"repo": "flake.nix",
|
||||||
|
"rev": "84e086608ebc04973387fd57b548139476358638",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "daeuniverse",
|
||||||
|
"repo": "flake.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
|
@ -62,6 +81,24 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-parts": {
|
"flake-parts": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730504689,
|
||||||
|
"narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "506278e768c2a08bec68eb62932193e341f55c90",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-parts_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
"nur",
|
"nur",
|
||||||
|
|
@ -82,9 +119,27 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-parts_2": {
|
"flake-parts_3": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib_2"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1733312601,
|
||||||
|
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-parts_4": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": "nixpkgs-lib_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1727826117,
|
"lastModified": 1727826117,
|
||||||
|
|
@ -159,11 +214,11 @@
|
||||||
"systems": "systems_5"
|
"systems": "systems_5"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1726560853,
|
"lastModified": 1731533236,
|
||||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -175,17 +230,17 @@
|
||||||
"freetype2": {
|
"freetype2": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1687587065,
|
"lastModified": 1723459814,
|
||||||
"narHash": "sha256-+Fh+/k+NWL5Ow9sDLtp8Cv/8rLNA1oByQQCIQS/bysY=",
|
"narHash": "sha256-4l90lDtpgm5xlh2m7ifrqNy373DTRTULRkAzicrM93c=",
|
||||||
"owner": "wez",
|
"owner": "freetype",
|
||||||
"repo": "freetype2",
|
"repo": "freetype",
|
||||||
"rev": "e4586d960f339cf75e2e0b34aee30a0ed8353c0d",
|
"rev": "42608f77f20749dd6ddc9e0536788eaad70ea4b5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "wez",
|
"owner": "freetype",
|
||||||
"repo": "freetype2",
|
"ref": "VER-2-13-3",
|
||||||
"rev": "e4586d960f339cf75e2e0b34aee30a0ed8353c0d",
|
"repo": "freetype",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -197,11 +252,11 @@
|
||||||
"zig": "zig"
|
"zig": "zig"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1735362327,
|
"lastModified": 1736131979,
|
||||||
"narHash": "sha256-kD49xAUMCWU60IRKoJiyJTaEUum7rk45OYjZfwWr3Ck=",
|
"narHash": "sha256-NPfIRTbmzP5+IbbDIYED3zxVd+b1DSsl8nCGRBt3iQo=",
|
||||||
"owner": "ghostty-org",
|
"owner": "ghostty-org",
|
||||||
"repo": "ghostty",
|
"repo": "ghostty",
|
||||||
"rev": "6cbd69da7839260508466f9dfb2bc0c0fbb43991",
|
"rev": "6181487bad55f8bbff9ce4f849a40fac72120f82",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -213,16 +268,16 @@
|
||||||
"harfbuzz": {
|
"harfbuzz": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1711722720,
|
"lastModified": 1719502711,
|
||||||
"narHash": "sha256-GdxcAPx5QyniSHPAN1ih28AD9JLUPR0ItqW9JEsl3pU=",
|
"narHash": "sha256-2ieCf3ftNk851FZBDPVl+7QHWBqD729KiUxUyxi26Yg=",
|
||||||
"owner": "harfbuzz",
|
"owner": "harfbuzz",
|
||||||
"repo": "harfbuzz",
|
"repo": "harfbuzz",
|
||||||
"rev": "63973005bc07aba599b47fdd4cf788647b601ccd",
|
"rev": "9c03576c49db6e7207d9bcdfe3abd170a809157f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "harfbuzz",
|
"owner": "harfbuzz",
|
||||||
"ref": "8.4.0",
|
"ref": "9.0.0",
|
||||||
"repo": "harfbuzz",
|
"repo": "harfbuzz",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
|
@ -237,11 +292,11 @@
|
||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1735311473,
|
"lastModified": 1736116509,
|
||||||
"narHash": "sha256-PIAQe6E07XFYYwv0ARV9oqgV/d30etcMKEEBzyyI1NU=",
|
"narHash": "sha256-ZcUDcqSSLmSLgNVFZ9r3wQ2Dp7MK94kZ1gSOABJ2+Wo=",
|
||||||
"owner": "helix-editor",
|
"owner": "helix-editor",
|
||||||
"repo": "helix",
|
"repo": "helix",
|
||||||
"rev": "a5a7cff311e909ecab41f840742a5309634aeec3",
|
"rev": "6c9619d0944570727ce1f9e8212c4081456fc361",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -258,11 +313,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1735343815,
|
"lastModified": 1736089250,
|
||||||
"narHash": "sha256-p7IJP/97zJda/wwCn1T2LJBz4olF5LjNf4uwhuyvARo=",
|
"narHash": "sha256-/LPWMiiJGPHGd7ZYEgmbE2da4zvBW0acmshUjYC3WG4=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "b7a7cd5dd1a74a9fe86ed4e016f91c78483b527a",
|
"rev": "172b91bfb2b7f5c4a8c6ceac29fd53a01ef07196",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -296,17 +351,73 @@
|
||||||
"libpng": {
|
"libpng": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1549245649,
|
"lastModified": 1726173884,
|
||||||
"narHash": "sha256-1+cRp0Ungme/OGfc9kGJbklYIWAFxk8Il1M+NV4KSgw=",
|
"narHash": "sha256-gBfHgGaqVYdmhWXoNKZzPyGzyw2rr3zp+DjWmfC41jk=",
|
||||||
"owner": "glennrp",
|
"owner": "pnggroup",
|
||||||
"repo": "libpng",
|
"repo": "libpng",
|
||||||
"rev": "8439534daa1d3a5705ba92e653eda9251246dd61",
|
"rev": "f5e92d76973a7a53f517579bc95d61483bf108c0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "glennrp",
|
"owner": "pnggroup",
|
||||||
|
"ref": "v1.6.44",
|
||||||
"repo": "libpng",
|
"repo": "libpng",
|
||||||
"rev": "8439534daa1d3a5705ba92e653eda9251246dd61",
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"niri-flake": {
|
||||||
|
"inputs": {
|
||||||
|
"niri-stable": "niri-stable",
|
||||||
|
"niri-unstable": "niri-unstable",
|
||||||
|
"nixpkgs": "nixpkgs_2",
|
||||||
|
"nixpkgs-stable": "nixpkgs-stable_2",
|
||||||
|
"xwayland-satellite-stable": "xwayland-satellite-stable",
|
||||||
|
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1736149834,
|
||||||
|
"narHash": "sha256-newGrF/Y2a457+jjWEwg+oVGeFnSt1UY6zkF/hlSMCY=",
|
||||||
|
"owner": "sodiboo",
|
||||||
|
"repo": "niri-flake",
|
||||||
|
"rev": "2ac88ed580655c5cf089b279c7b6227328bb4a95",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "sodiboo",
|
||||||
|
"repo": "niri-flake",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"niri-stable": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731483594,
|
||||||
|
"narHash": "sha256-Qjf7alRbPPERfiZsM9EMKX+HwjESky1tieh5PJIkLwE=",
|
||||||
|
"owner": "YaLTeR",
|
||||||
|
"repo": "niri",
|
||||||
|
"rev": "75c79116a7e40cbc0e110ce0cdd500e896458679",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "YaLTeR",
|
||||||
|
"ref": "v0.1.10.1",
|
||||||
|
"repo": "niri",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"niri-unstable": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1736073506,
|
||||||
|
"narHash": "sha256-c8UMa0Yb8hYm9D3Q/k+GsRxsk8oTYy2OJywCHjWXrlU=",
|
||||||
|
"owner": "YaLTeR",
|
||||||
|
"repo": "niri",
|
||||||
|
"rev": "89678c7b1e6ebe6ec5411db5a2b99bd6bea63565",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "YaLTeR",
|
||||||
|
"repo": "niri",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -319,7 +430,7 @@
|
||||||
"nix-github-actions": "nix-github-actions",
|
"nix-github-actions": "nix-github-actions",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"oskars-dotfiles",
|
"oskars-dotfiles",
|
||||||
"nixpkgs-unstable"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"nixpkgs-wine": "nixpkgs-wine",
|
"nixpkgs-wine": "nixpkgs-wine",
|
||||||
"systems": "systems_3",
|
"systems": "systems_3",
|
||||||
|
|
@ -339,12 +450,33 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nix-gaming": {
|
"nix-darwin": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts_2",
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"oskars-dotfiles",
|
"oskars-dotfiles",
|
||||||
"nixpkgs-unstable"
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1735218083,
|
||||||
|
"narHash": "sha256-MoUAbmXz9TEr7zlKDRO56DBJHe30+7B5X7nhXm+Vpc8=",
|
||||||
|
"owner": "LnL7",
|
||||||
|
"repo": "nix-darwin",
|
||||||
|
"rev": "bc03f7818771a75716966ce8c23110b715eff2aa",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "LnL7",
|
||||||
|
"repo": "nix-darwin",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nix-gaming": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-parts": "flake-parts_4",
|
||||||
|
"nixpkgs": [
|
||||||
|
"oskars-dotfiles",
|
||||||
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"umu": "umu"
|
"umu": "umu"
|
||||||
},
|
},
|
||||||
|
|
@ -388,16 +520,16 @@
|
||||||
"nixos-cosmic": {
|
"nixos-cosmic": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_2",
|
"flake-compat": "flake-compat_2",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"nixpkgs-stable": "nixpkgs-stable_2",
|
"nixpkgs-stable": "nixpkgs-stable_3",
|
||||||
"rust-overlay": "rust-overlay_2"
|
"rust-overlay": "rust-overlay_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1735362320,
|
"lastModified": 1736127757,
|
||||||
"narHash": "sha256-nNPTwaTLwMFX4Y0ugxwubIw2LJ+qt2g2FrwBVjRr1zI=",
|
"narHash": "sha256-VYQqg7vaRoao+A5XUrflxcDBe1kXQUGSQId4M7fz8nw=",
|
||||||
"owner": "lilyinstarlight",
|
"owner": "lilyinstarlight",
|
||||||
"repo": "nixos-cosmic",
|
"repo": "nixos-cosmic",
|
||||||
"rev": "7da43ac24467b538ae5f07117709665b189887fd",
|
"rev": "5e273a14a62532d518e1ea5d7bc3f9a2c001ea95",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -408,11 +540,11 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1734954597,
|
"lastModified": 1735388221,
|
||||||
"narHash": "sha256-QIhd8/0x30gEv8XEE1iAnrdMlKuQ0EzthfDR7Hwl+fk=",
|
"narHash": "sha256-e5IOgjQf0SZcFCEV/gMGrsI0gCJyqOKShBQU0iiM3Kg=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "def1d472c832d77885f174089b0d34854b007198",
|
"rev": "7c674c6734f61157e321db595dbfcd8523e04e19",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -424,11 +556,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1735291276,
|
"lastModified": 1730531603,
|
||||||
"narHash": "sha256-NYVcA06+blsLG6wpAbSPTCyLvxD/92Hy4vlY9WxFI1M=",
|
"narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "634fd46801442d760e09493a794c4f15db2d0cbb",
|
"rev": "7ffd9ae656aec493492b44d0ddfb28e79a1ea25d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -438,7 +570,47 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-darwin": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1735171749,
|
||||||
|
"narHash": "sha256-UA56kDQSztRWbpsG9bK+jIGyZ0YZAcIsYAhXDHIr8zs=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "03b02bb3356e29e9d4d1200f9b1f5f36bf3780f0",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-24.11-darwin",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs-lib": {
|
"nixpkgs-lib": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730504152,
|
||||||
|
"narHash": "sha256-lXvH/vOfb4aGYyvFmZK/HlsNsr/0CVWlwYvo2rxJk3s=",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-lib_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1733096140,
|
||||||
|
"narHash": "sha256-1qRH7uAUsyQI7R1Uwl4T+XvdNv778H0Nb5njNrqvylY=",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-lib_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1727825735,
|
"lastModified": 1727825735,
|
||||||
"narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=",
|
"narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=",
|
||||||
|
|
@ -468,11 +640,27 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-stable_2": {
|
"nixpkgs-stable_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1735141468,
|
"lastModified": 1736061677,
|
||||||
"narHash": "sha256-VIAjBr1qGcEbmhLwQJD6TABppPMggzOvqFsqkDoMsAY=",
|
"narHash": "sha256-DjkQPnkAfd7eB522PwnkGhOMuT9QVCZspDpJJYyOj60=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "4005c3ff7505313cbc21081776ad0ce5dfd7a3ce",
|
"rev": "cbd8ec4de4469333c82ff40d057350c30e9f7d36",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-24.11",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-stable_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1736061677,
|
||||||
|
"narHash": "sha256-DjkQPnkAfd7eB522PwnkGhOMuT9QVCZspDpJJYyOj60=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "cbd8ec4de4469333c82ff40d057350c30e9f7d36",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -532,11 +720,43 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1735291276,
|
"lastModified": 1736012469,
|
||||||
"narHash": "sha256-NYVcA06+blsLG6wpAbSPTCyLvxD/92Hy4vlY9WxFI1M=",
|
"narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "634fd46801442d760e09493a794c4f15db2d0cbb",
|
"rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1735834308,
|
||||||
|
"narHash": "sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "6df24922a1400241dae323af55f30e4318a6ca65",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_4": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1736012469,
|
||||||
|
"narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -548,18 +768,18 @@
|
||||||
},
|
},
|
||||||
"nur": {
|
"nur": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts_2",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1735367808,
|
"lastModified": 1736163949,
|
||||||
"narHash": "sha256-OdwpdXcrLpZfxQVECzzDzYDnxWl8M0iyryX2Hyg0J7A=",
|
"narHash": "sha256-ewYhjZY7zHQ9Jv1ePIShLGM5odwyX06OWzDNHxEpcs8=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "db1a42be19ec69ba2e7f92f62dfc102ef1d2a91c",
|
"rev": "879889538510c1974242e90c17fe1d1ad156f822",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -585,24 +805,26 @@
|
||||||
},
|
},
|
||||||
"oskars-dotfiles": {
|
"oskars-dotfiles": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"flake-parts": "flake-parts_3",
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager_2",
|
||||||
"nix-citizen": "nix-citizen",
|
"nix-citizen": "nix-citizen",
|
||||||
|
"nix-darwin": "nix-darwin",
|
||||||
"nix-gaming": "nix-gaming",
|
"nix-gaming": "nix-gaming",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
|
"nixpkgs-darwin": "nixpkgs-darwin",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable_2",
|
"nixpkgs-unstable": "nixpkgs-unstable_2",
|
||||||
"nur": "nur_2",
|
"nur": "nur_2",
|
||||||
"rust-overlay": "rust-overlay_3",
|
"rust-overlay": "rust-overlay_3",
|
||||||
"winapps": "winapps",
|
"winapps": "winapps"
|
||||||
"zen-browser": "zen-browser"
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733907511,
|
"lastModified": 1735384567,
|
||||||
"narHash": "sha256-9ERM2ihW8Z3Jb9ZsPqSxI7GCTeJcW5jDl/Q39FZcGIo=",
|
"narHash": "sha256-8+cAKak4QNBsvg+qUEROeH+xvBNfjHtBBI/gI/zRP7Q=",
|
||||||
"owner": "oskardotglobal",
|
"owner": "oskardotglobal",
|
||||||
"repo": ".dotfiles",
|
"repo": ".dotfiles",
|
||||||
"rev": "77a46fb1a4b42ef9b7d35c6fa6b5be5d6545c066",
|
"rev": "88510c4f7bb9d8939f17d4f1e33d6a7a47d7ba2b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -614,12 +836,14 @@
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"dae": "dae",
|
||||||
"ghostty": "ghostty",
|
"ghostty": "ghostty",
|
||||||
"helix": "helix",
|
"helix": "helix",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
|
"niri-flake": "niri-flake",
|
||||||
"nixos-cosmic": "nixos-cosmic",
|
"nixos-cosmic": "nixos-cosmic",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_4",
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
"oskars-dotfiles": "oskars-dotfiles",
|
"oskars-dotfiles": "oskars-dotfiles",
|
||||||
"wezterm": "wezterm"
|
"wezterm": "wezterm"
|
||||||
|
|
@ -654,11 +878,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1735266518,
|
"lastModified": 1736044260,
|
||||||
"narHash": "sha256-2XkWYGgT+911gOLjgBj+8W8ZJk6P0qHJNz8RfKgT/5o=",
|
"narHash": "sha256-DTAr0mAd8AZwWgRtU9ZZFPz3DwNeoH/Oi/1QMSqc9YQ=",
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "rust-overlay",
|
"repo": "rust-overlay",
|
||||||
"rev": "e0b3654b716098b47f3643c65fbb75ef49c033e1",
|
"rev": "c8ed24cc104ebbc218d992e208131e9f024b69f0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -696,11 +920,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1729477859,
|
"lastModified": 1735871325,
|
||||||
"narHash": "sha256-r0VyeJxy4O4CgTB/PNtfQft9fPfN1VuGvnZiCxDArvg=",
|
"narHash": "sha256-6Ta5E4mhSfCP6LdkzkG2+BciLOCPeLKuYTJ6lOHW+mI=",
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "rust-overlay",
|
"repo": "rust-overlay",
|
||||||
"rev": "ada8266712449c4c0e6ee6fcbc442b3c217c79e1",
|
"rev": "a599f011db521766cbaf7c2f5874182485554f00",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -867,11 +1091,11 @@
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"dir": "nix",
|
"dir": "nix",
|
||||||
"lastModified": 1733412933,
|
"lastModified": 1735931735,
|
||||||
"narHash": "sha256-2OPDEgUEh0B6OIcSWtBbkw/zFi8r2VfluLj7FebTaVA=",
|
"narHash": "sha256-4wzEN5IPYmqLP8TAdFatoRhCZ7W9y65AWoYN0Qgvbg8=",
|
||||||
"owner": "wez",
|
"owner": "wez",
|
||||||
"repo": "wezterm",
|
"repo": "wezterm",
|
||||||
"rev": "6f375e29a2c4d70b8b51956edd494693196c6692",
|
"rev": "8e9cf912e66f704f300fac6107206a75036de1e7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -905,24 +1129,36 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"zen-browser": {
|
"xwayland-satellite-stable": {
|
||||||
"inputs": {
|
"flake": false,
|
||||||
"nixpkgs": [
|
|
||||||
"oskars-dotfiles",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731689537,
|
"lastModified": 1730166465,
|
||||||
"narHash": "sha256-0wN39XFD5bVcNANh9uLoQYyKbp9r6xX+oON1qI+L9iI=",
|
"narHash": "sha256-nq7bouXQXaaPPo/E+Jbq+wNHnatD4dY8OxSrRqzvy6s=",
|
||||||
"owner": "ch4og",
|
"owner": "Supreeeme",
|
||||||
"repo": "zen-browser-flake",
|
"repo": "xwayland-satellite",
|
||||||
"rev": "064be844324965da1d596a541fdd831efe4a3a32",
|
"rev": "a713cf46cb7db84a0d1b57c3a397c610cad3cf98",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "ch4og",
|
"owner": "Supreeeme",
|
||||||
"repo": "zen-browser-flake",
|
"ref": "v0.5",
|
||||||
|
"repo": "xwayland-satellite",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"xwayland-satellite-unstable": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1734745564,
|
||||||
|
"narHash": "sha256-JQNl4pqonVVPQ2JzEOLUcPVRNj//FFFNRDyvQoOkG7s=",
|
||||||
|
"owner": "Supreeeme",
|
||||||
|
"repo": "xwayland-satellite",
|
||||||
|
"rev": "94da1af75326d89ecb12aba0cc9362e93ffdc766",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Supreeeme",
|
||||||
|
"repo": "xwayland-satellite",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -954,16 +1190,16 @@
|
||||||
"zlib": {
|
"zlib": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1484501380,
|
"lastModified": 1705948357,
|
||||||
"narHash": "sha256-j5b6aki1ztrzfCqu8y729sPar8GpyQWIrajdzpJC+ww=",
|
"narHash": "sha256-TkPLWSN5QcPlL9D0kc/yhH0/puE9bFND24aj5NVDKYs=",
|
||||||
"owner": "madler",
|
"owner": "madler",
|
||||||
"repo": "zlib",
|
"repo": "zlib",
|
||||||
"rev": "cacf7f1d4e3d44d871b605da3b647f07d718623f",
|
"rev": "51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "madler",
|
"owner": "madler",
|
||||||
"ref": "v1.2.11",
|
"ref": "v1.3.1",
|
||||||
"repo": "zlib",
|
"repo": "zlib",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@
|
||||||
url = "github:oskardotglobal/.dotfiles/nix";
|
url = "github:oskardotglobal/.dotfiles/nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
niri-flake.url = "github:sodiboo/niri-flake";
|
||||||
nur = {
|
nur = {
|
||||||
url = "github:nix-community/NUR";
|
url = "github:nix-community/NUR";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
@ -26,6 +27,7 @@
|
||||||
nixos-cosmic.url = "github:lilyinstarlight/nixos-cosmic";
|
nixos-cosmic.url = "github:lilyinstarlight/nixos-cosmic";
|
||||||
ghostty.url = "github:ghostty-org/ghostty";
|
ghostty.url = "github:ghostty-org/ghostty";
|
||||||
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
||||||
|
dae.url = "github:daeuniverse/flake.nix";
|
||||||
};
|
};
|
||||||
outputs =
|
outputs =
|
||||||
{
|
{
|
||||||
|
|
@ -41,6 +43,7 @@
|
||||||
inherit inputs;
|
inherit inputs;
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
|
inputs.niri-flake.nixosModules.niri
|
||||||
{
|
{
|
||||||
nix.settings = {
|
nix.settings = {
|
||||||
substituters = [ "https://cosmic.cachix.org/" ];
|
substituters = [ "https://cosmic.cachix.org/" ];
|
||||||
|
|
@ -50,6 +53,7 @@
|
||||||
(final: prev: {
|
(final: prev: {
|
||||||
helix = inputs.helix.packages."${system}".default;
|
helix = inputs.helix.packages."${system}".default;
|
||||||
})
|
})
|
||||||
|
inputs.niri-flake.overlays.niri
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
inputs.nixos-hardware.nixosModules.asus-fx506hm
|
inputs.nixos-hardware.nixosModules.asus-fx506hm
|
||||||
|
|
@ -60,6 +64,7 @@
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
./users
|
./users
|
||||||
|
inputs.dae.nixosModules.dae
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
82
users/dae/config.dae
Normal file
82
users/dae/config.dae
Normal file
|
|
@ -0,0 +1,82 @@
|
||||||
|
include {
|
||||||
|
proxy.d/*.dae
|
||||||
|
}
|
||||||
|
|
||||||
|
global {
|
||||||
|
# 绑定到 LAN 和/或 WAN 接口。将下述接口替换成你自己的接口名。
|
||||||
|
lan_interface: auto
|
||||||
|
wan_interface: auto
|
||||||
|
|
||||||
|
log_level: trace
|
||||||
|
allow_insecure: false
|
||||||
|
auto_config_kernel_parameter: true
|
||||||
|
dial_mode: domain
|
||||||
|
}
|
||||||
|
|
||||||
|
# 更多的 DNS 样例见 https://github.com/daeuniverse/dae/blob/main/docs/en/configuration/dns.md
|
||||||
|
dns {
|
||||||
|
upstream {
|
||||||
|
googledns: 'tcp+udp://8.8.8.8:53'
|
||||||
|
alidns: 'udp://114.114.114.114:53'
|
||||||
|
}
|
||||||
|
routing {
|
||||||
|
request {
|
||||||
|
fallback: alidns
|
||||||
|
}
|
||||||
|
response {
|
||||||
|
upstream(googledns) -> accept
|
||||||
|
ip(geoip: private) && !qname(geosite: cn) -> googledns
|
||||||
|
fallback: accept
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
group {
|
||||||
|
proxy {
|
||||||
|
filter: subtag(wget)
|
||||||
|
policy: min_moving_avg
|
||||||
|
}
|
||||||
|
us {
|
||||||
|
filter: subtag(wget) && name(keyword: "美国")
|
||||||
|
policy: min_moving_avg
|
||||||
|
}
|
||||||
|
hk {
|
||||||
|
filter: subtag(wget) && name(keyword: "香港")
|
||||||
|
policy: min_moving_avg
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# 更多的 Routing 样例见 https://github.com/daeuniverse/dae/blob/main/docs/en/configuration/routing.md
|
||||||
|
routing {
|
||||||
|
pname(hickory-dns) && dport(53) -> must_direct
|
||||||
|
pname(mihomo) -> must_direct
|
||||||
|
domain(geosite:cn) -> direct
|
||||||
|
# personal config routing
|
||||||
|
|
||||||
|
domain(full: time.windows.com) -> must_direct
|
||||||
|
domain(suffix: 'hit.edu.cn') -> must_direct
|
||||||
|
domain(geosite: microsoft) -> proxy
|
||||||
|
# domain(geosite: onedrive) -> must_direct
|
||||||
|
domain(geosite: 'category-ai-chat-!cn') -> us
|
||||||
|
domain(geosite: google) -> us
|
||||||
|
domain(geosite: google-play) -> proxy
|
||||||
|
domain(geosite: apple) -> us
|
||||||
|
domain(keyword: spotify) -> us
|
||||||
|
domain(geosite: tiktok) -> us
|
||||||
|
|
||||||
|
dip(geoip:private) -> direct
|
||||||
|
dip(geoip:cn) -> direct
|
||||||
|
# dport(63434) && sip(192.168.31.170) -> hk
|
||||||
|
dip(223.5.5.5) -> direct
|
||||||
|
|
||||||
|
# ban qq dns over http
|
||||||
|
# dip(43.136.0.0/13) -> block
|
||||||
|
# dip(109.244.0.0/16) -> block
|
||||||
|
# dip(175.27.0.0/16) -> block
|
||||||
|
# dip('2409:8C1E:75B0:80::/64') -> block
|
||||||
|
|
||||||
|
## 禁用 h3,因为它通常消耗很多 CPU 和内存资源
|
||||||
|
# l4proto(udp) && dport(443) -> block
|
||||||
|
|
||||||
|
fallback: proxy
|
||||||
|
}
|
||||||
114
users/dae/default.nix
Normal file
114
users/dae/default.nix
Normal file
|
|
@ -0,0 +1,114 @@
|
||||||
|
{ pkgs, config, ... }:
|
||||||
|
{
|
||||||
|
services.dae = {
|
||||||
|
enable = true;
|
||||||
|
openFirewall = {
|
||||||
|
enable = true;
|
||||||
|
port = 12345;
|
||||||
|
};
|
||||||
|
disableTxChecksumIpGeneric = false;
|
||||||
|
config = builtins.readFile ./config.dae;
|
||||||
|
};
|
||||||
|
environment.etc."dae/urls.txt".source = ./urls.txt;
|
||||||
|
systemd.services =
|
||||||
|
let
|
||||||
|
new_proxy = "/etc/dae/proxy.d.new";
|
||||||
|
head = "user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36";
|
||||||
|
update = ''
|
||||||
|
num=0
|
||||||
|
check=1
|
||||||
|
urls="$(${pkgs.coreutils}/bin/cat /etc/dae/urls.txt)"
|
||||||
|
mkdir -p ${new_proxy}
|
||||||
|
for url in "''${urls}"; do
|
||||||
|
txt=${new_proxy}/''${num}.txt
|
||||||
|
config="${new_proxy}/''${num}.dae"
|
||||||
|
${pkgs.curl}/bin/curl -H "${head}" "''${url}" > "''${txt}"
|
||||||
|
${pkgs.coreutils}/bin/echo "" > ''${config}
|
||||||
|
${pkgs.coreutils}/bin/echo 'subscription {' >> ''${config}
|
||||||
|
${pkgs.coreutils}/bin/echo \ \ wget:\ \"file\://proxy.d/''${num}.txt\" >> ''${config}
|
||||||
|
${pkgs.coreutils}/bin/echo } >> ''${config}
|
||||||
|
if [[ ! -s ''${txt} ]]; then
|
||||||
|
check=0
|
||||||
|
fi
|
||||||
|
${pkgs.coreutils}/bin/chmod 0640 ''${txt}
|
||||||
|
${pkgs.coreutils}/bin/chmod 0640 ''${config}
|
||||||
|
link=$((link+1))
|
||||||
|
|
||||||
|
if [[ ''${check} -eq 0 ]]; then
|
||||||
|
exit -1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
${pkgs.coreutils}/bin/rm -r /etc/dae/proxy.d
|
||||||
|
${pkgs.coreutils}/bin/mv ${new_proxy} /etc/dae/proxy.d
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
{
|
||||||
|
"update-dae-subscription-immediate" = {
|
||||||
|
after = [ "network-online.target" ];
|
||||||
|
wants = [ "network-online.target" ];
|
||||||
|
before = [ "dae.service" ];
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
ExecStart =
|
||||||
|
let
|
||||||
|
script = pkgs.writeTextFile {
|
||||||
|
name = "update-dae-subscription-immediate";
|
||||||
|
executable = true;
|
||||||
|
destination = "/bin/script";
|
||||||
|
text = ''
|
||||||
|
${pkgs.coreutils}/bin/mkdir -p /etc/proxy.d
|
||||||
|
if [ -z "$(ls -A /etc/dae/proxy.d 2>/dev/null)" ]; then
|
||||||
|
${pkgs.coreutils}/bin/echo "No subscription file found in /etc/dae/proxy.d. Update now..."
|
||||||
|
${update}
|
||||||
|
else
|
||||||
|
${pkgs.coreutils}/bin/echo "Found existing subscription files. Skipping immediate update."
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
in
|
||||||
|
[
|
||||||
|
"${pkgs.bash}/bin/bash ${script}/bin/script"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
"update-dae-subscription-weekly" = {
|
||||||
|
after = [ "network-online.target" ];
|
||||||
|
wants = [ "network-online.target" ];
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "oneshot";
|
||||||
|
ExecStartPre = [ "${config.systemd.package}/bin/systemctl stop dae.service" ];
|
||||||
|
ExecStartPost = [
|
||||||
|
"${config.systemd.package}/bin/systemctl start dae.service"
|
||||||
|
];
|
||||||
|
ExecStart =
|
||||||
|
let
|
||||||
|
script = pkgs.writeTextFile {
|
||||||
|
name = "update-dae-subscription-weekly";
|
||||||
|
executable = true;
|
||||||
|
destination = "/bin/script";
|
||||||
|
text = ''
|
||||||
|
${pkgs.coreutils}/bin/echo "Force subscription update..."
|
||||||
|
${pkgs.coreutils}/bin/mkdir -p /etc/proxy.d
|
||||||
|
${update}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
in
|
||||||
|
[
|
||||||
|
"${pkgs.bash}/bin/bash ${script}/bin/script"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.timers."dae-update" = {
|
||||||
|
wantedBy = [ "timers.target" ];
|
||||||
|
timerConfig = {
|
||||||
|
OnCalendar = "weekly";
|
||||||
|
Unit = "dae-update.service";
|
||||||
|
Persistent = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
1
users/dae/urls.txt
Normal file
1
users/dae/urls.txt
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
https://bava8u2znaj6bdzzjnfb.wgetcloud.online/link/df057715-3fa5-38c8-b550-316aa84c22c1?target=v2rayn&list=1&simple=1
|
||||||
|
|
@ -14,6 +14,8 @@
|
||||||
}
|
}
|
||||||
./steam.nix
|
./steam.nix
|
||||||
./spotify.nix
|
./spotify.nix
|
||||||
|
./nh.nix
|
||||||
|
./dae
|
||||||
];
|
];
|
||||||
programs.fish.enable = true;
|
programs.fish.enable = true;
|
||||||
users.users.david.shell = pkgs.fish;
|
users.users.david.shell = pkgs.fish;
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,8 @@
|
||||||
./firefox.nix
|
./firefox.nix
|
||||||
./foot
|
./foot
|
||||||
./ghostty
|
./ghostty
|
||||||
|
./niri
|
||||||
|
./zed.nix
|
||||||
];
|
];
|
||||||
xdg.userDirs = {
|
xdg.userDirs = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
||||||
291
users/home-manager/niri/config.kdl
Normal file
291
users/home-manager/niri/config.kdl
Normal file
|
|
@ -0,0 +1,291 @@
|
||||||
|
input {
|
||||||
|
keyboard {
|
||||||
|
xkb {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
touchpad {
|
||||||
|
tap
|
||||||
|
natural-scroll
|
||||||
|
}
|
||||||
|
|
||||||
|
mouse {
|
||||||
|
}
|
||||||
|
|
||||||
|
trackpoint {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
output "DP-1" {
|
||||||
|
mode "2560x1440@169.900"
|
||||||
|
scale 1
|
||||||
|
transform "normal"
|
||||||
|
position x=0 y=0
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
output "eDP-1" {
|
||||||
|
mode "2560x1440@165.003"
|
||||||
|
scale 1.5
|
||||||
|
transform "normal"
|
||||||
|
position x=2560 y=0
|
||||||
|
}
|
||||||
|
|
||||||
|
layout {
|
||||||
|
gaps 16
|
||||||
|
center-focused-column "never"
|
||||||
|
preset-column-widths {
|
||||||
|
proportion 0.33333
|
||||||
|
proportion 0.5
|
||||||
|
proportion 0.66667
|
||||||
|
}
|
||||||
|
|
||||||
|
// You can also customize the heights that "switch-preset-window-height" (Mod+Shift+R) toggles between.
|
||||||
|
// preset-window-heights { }
|
||||||
|
|
||||||
|
default-column-width {}
|
||||||
|
|
||||||
|
// By default focus ring and border are rendered as a solid background rectangle
|
||||||
|
// behind windows. That is, they will show up through semitransparent windows.
|
||||||
|
// This is because windows using client-side decorations can have an arbitrary shape.
|
||||||
|
//
|
||||||
|
// If you don't like that, you should uncomment `prefer-no-csd` below.
|
||||||
|
// Niri will draw focus ring and border *around* windows that agree to omit their
|
||||||
|
// client-side decorations.
|
||||||
|
//
|
||||||
|
// Alternatively, you can override it with a window rule called
|
||||||
|
// `draw-border-with-background`.
|
||||||
|
|
||||||
|
// You can change how the focus ring looks.
|
||||||
|
focus-ring {
|
||||||
|
// Uncomment this line to disable the focus ring.
|
||||||
|
// off
|
||||||
|
|
||||||
|
// How many logical pixels the ring extends out from the windows.
|
||||||
|
width 4
|
||||||
|
|
||||||
|
// Colors can be set in a variety of ways:
|
||||||
|
// - CSS named colors: "red"
|
||||||
|
// - RGB hex: "#rgb", "#rgba", "#rrggbb", "#rrggbbaa"
|
||||||
|
// - CSS-like notation: "rgb(255, 127, 0)", rgba(), hsl() and a few others.
|
||||||
|
|
||||||
|
// Color of the ring on the active monitor.
|
||||||
|
active-color "#7fc8ff"
|
||||||
|
|
||||||
|
// Color of the ring on inactive monitors.
|
||||||
|
inactive-color "#505050"
|
||||||
|
|
||||||
|
// You can also use gradients. They take precedence over solid colors.
|
||||||
|
// Gradients are rendered the same as CSS linear-gradient(angle, from, to).
|
||||||
|
// The angle is the same as in linear-gradient, and is optional,
|
||||||
|
// defaulting to 180 (top-to-bottom gradient).
|
||||||
|
// You can use any CSS linear-gradient tool on the web to set these up.
|
||||||
|
// Changing the color space is also supported, check the wiki for more info.
|
||||||
|
//
|
||||||
|
// active-gradient from="#80c8ff" to="#bbddff" angle=45
|
||||||
|
|
||||||
|
// You can also color the gradient relative to the entire view
|
||||||
|
// of the workspace, rather than relative to just the window itself.
|
||||||
|
// To do that, set relative-to="workspace-view".
|
||||||
|
//
|
||||||
|
// inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view"
|
||||||
|
}
|
||||||
|
|
||||||
|
// You can also add a border. It's similar to the focus ring, but always visible.
|
||||||
|
border {
|
||||||
|
// The settings are the same as for the focus ring.
|
||||||
|
// If you enable the border, you probably want to disable the focus ring.
|
||||||
|
off
|
||||||
|
|
||||||
|
width 4
|
||||||
|
active-color "#ffc87f"
|
||||||
|
inactive-color "#505050"
|
||||||
|
|
||||||
|
// active-gradient from="#ffbb66" to="#ffc880" angle=45 relative-to="workspace-view"
|
||||||
|
// inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view"
|
||||||
|
}
|
||||||
|
|
||||||
|
// Struts shrink the area occupied by windows, similarly to layer-shell panels.
|
||||||
|
// You can think of them as a kind of outer gaps. They are set in logical pixels.
|
||||||
|
// Left and right struts will cause the next window to the side to always be visible.
|
||||||
|
// Top and bottom struts will simply add outer gaps in addition to the area occupied by
|
||||||
|
// layer-shell panels and regular gaps.
|
||||||
|
struts {
|
||||||
|
// left 64
|
||||||
|
// right 64
|
||||||
|
// top 64
|
||||||
|
// bottom 64
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add lines like this to spawn processes at startup.
|
||||||
|
// Note that running niri as a session supports xdg-desktop-autostart,
|
||||||
|
// which may be more convenient to use.
|
||||||
|
// See the binds section below for more spawn examples.
|
||||||
|
environment {
|
||||||
|
DISPLAY ":1"
|
||||||
|
}
|
||||||
|
spawn-at-startup "waybar"
|
||||||
|
spawn-at-startup "mako"
|
||||||
|
spawn-at-startup "swaybg" "-i" "/home/david/pic/wallpaper/screenbackground.png"
|
||||||
|
spawn-at-startup "fcitx5" "-d" "--replace"
|
||||||
|
spawn-at-startup "xwayland-satellite" ":1"
|
||||||
|
|
||||||
|
// Uncomment this line to ask the clients to omit their client-side decorations if possible.
|
||||||
|
// If the client will specifically ask for CSD, the request will be honored.
|
||||||
|
// Additionally, clients will be informed that they are tiled, removing some client-side rounded corners.
|
||||||
|
// This option will also fix border/focus ring drawing behind some semitransparent windows.
|
||||||
|
// After enabling or disabling this, you need to restart the apps for this to take effect.
|
||||||
|
// prefer-no-csd
|
||||||
|
|
||||||
|
screenshot-path "~/pic/screenshot%Y-%m-%d-%H-%M-%S.png"
|
||||||
|
|
||||||
|
// You can also set this to null to disable saving screenshots to disk.
|
||||||
|
// screenshot-path null
|
||||||
|
|
||||||
|
animations {
|
||||||
|
// Slow down all animations by this factor. Values below 1 speed them up instead.
|
||||||
|
// slowdown 3.0
|
||||||
|
}
|
||||||
|
|
||||||
|
window-rule {
|
||||||
|
match app-id=r#"^org\.wezfurlong\.wezterm$"#
|
||||||
|
default-column-width {}
|
||||||
|
}
|
||||||
|
window-rule {
|
||||||
|
match app-id=r#"^org\.keepassxc\.KeePassXC$"#
|
||||||
|
match app-id=r#"^org\.gnome\.World\.Secrets$"#
|
||||||
|
|
||||||
|
block-out-from "screen-capture"
|
||||||
|
}
|
||||||
|
window-rule {
|
||||||
|
draw-border-with-background false
|
||||||
|
}
|
||||||
|
|
||||||
|
// Example: enable rounded corners for all windows.
|
||||||
|
// (This example rule is commented out with a "/-" in front.)
|
||||||
|
/-window-rule {
|
||||||
|
geometry-corner-radius 12
|
||||||
|
clip-to-geometry true
|
||||||
|
}
|
||||||
|
|
||||||
|
binds {
|
||||||
|
Mod+Shift+Slash { show-hotkey-overlay; }
|
||||||
|
|
||||||
|
Mod+T { spawn "ghostty"; }
|
||||||
|
Mod+Space { spawn "fuzzel"; }
|
||||||
|
|
||||||
|
XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"; }
|
||||||
|
XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"; }
|
||||||
|
XF86AudioMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; }
|
||||||
|
XF86AudioMicMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; }
|
||||||
|
|
||||||
|
Mod+Q { close-window; }
|
||||||
|
|
||||||
|
Mod+Left { focus-column-left; }
|
||||||
|
Mod+Down { focus-window-down; }
|
||||||
|
Mod+Up { focus-window-up; }
|
||||||
|
Mod+Right { focus-column-right; }
|
||||||
|
Mod+H { focus-column-left; }
|
||||||
|
Mod+J { focus-window-or-workspace-down; }
|
||||||
|
Mod+K { focus-window-or-workspace-up; }
|
||||||
|
Mod+L { focus-column-right; }
|
||||||
|
|
||||||
|
Mod+Shift+Left { move-column-left; }
|
||||||
|
Mod+Shift+Down { move-window-down; }
|
||||||
|
Mod+Shift+Up { move-window-up; }
|
||||||
|
Mod+Shift+Right { move-column-right; }
|
||||||
|
Mod+Shift+H { move-column-left; }
|
||||||
|
Mod+Shift+J { move-window-down-or-to-workspace-down; }
|
||||||
|
Mod+Shift+K { move-window-up-or-to-workspace-up; }
|
||||||
|
Mod+Shift+L { move-column-right; }
|
||||||
|
|
||||||
|
Mod+Home { focus-column-first; }
|
||||||
|
Mod+End { focus-column-last; }
|
||||||
|
Mod+Ctrl+Home { move-column-to-first; }
|
||||||
|
Mod+Ctrl+End { move-column-to-last; }
|
||||||
|
|
||||||
|
Mod+Ctrl+Left { focus-monitor-left; }
|
||||||
|
Mod+Ctrl+Down { focus-monitor-down; }
|
||||||
|
Mod+Ctrl+Up { focus-monitor-up; }
|
||||||
|
Mod+Ctrl+Right { focus-monitor-right; }
|
||||||
|
Mod+Ctrl+H { focus-monitor-left; }
|
||||||
|
Mod+Ctrl+J { focus-monitor-down; }
|
||||||
|
Mod+Ctrl+K { focus-monitor-up; }
|
||||||
|
Mod+Ctrl+L { focus-monitor-right; }
|
||||||
|
|
||||||
|
Mod+Shift+Ctrl+Left { move-column-to-monitor-left; }
|
||||||
|
Mod+Shift+Ctrl+Down { move-column-to-monitor-down; }
|
||||||
|
Mod+Shift+Ctrl+Up { move-column-to-monitor-up; }
|
||||||
|
Mod+Shift+Ctrl+Right { move-column-to-monitor-right; }
|
||||||
|
Mod+Shift+Ctrl+H { move-column-to-monitor-left; }
|
||||||
|
Mod+Shift+Ctrl+J { move-column-to-monitor-down; }
|
||||||
|
Mod+Shift+Ctrl+K { move-column-to-monitor-up; }
|
||||||
|
Mod+Shift+Ctrl+L { move-column-to-monitor-right; }
|
||||||
|
|
||||||
|
Mod+Page_Down { focus-workspace-down; }
|
||||||
|
Mod+Page_Up { focus-workspace-up; }
|
||||||
|
Mod+U { focus-workspace-down; }
|
||||||
|
Mod+I { focus-workspace-up; }
|
||||||
|
Mod+Shift+Page_Down { move-column-to-workspace-down; }
|
||||||
|
Mod+Shift+Page_Up { move-column-to-workspace-up; }
|
||||||
|
Mod+Shift+U { move-column-to-workspace-down; }
|
||||||
|
Mod+Shift+I { move-column-to-workspace-up; }
|
||||||
|
|
||||||
|
Mod+Ctrl+Page_Down { move-workspace-down; }
|
||||||
|
Mod+Ctrl+Page_Up { move-workspace-up; }
|
||||||
|
Mod+Ctrl+U { move-workspace-down; }
|
||||||
|
Mod+Ctrl+I { move-workspace-up; }
|
||||||
|
|
||||||
|
Mod+Shift+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
|
||||||
|
Mod+Shift+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
|
||||||
|
Mod+WheelScrollDown { focus-column-right; }
|
||||||
|
Mod+WheelScrollUp { focus-column-left; }
|
||||||
|
|
||||||
|
Mod+1 { focus-workspace 1; }
|
||||||
|
Mod+2 { focus-workspace 2; }
|
||||||
|
Mod+3 { focus-workspace 3; }
|
||||||
|
Mod+4 { focus-workspace 4; }
|
||||||
|
Mod+5 { focus-workspace 5; }
|
||||||
|
Mod+6 { focus-workspace 6; }
|
||||||
|
Mod+7 { focus-workspace 7; }
|
||||||
|
Mod+8 { focus-workspace 8; }
|
||||||
|
Mod+9 { focus-workspace 9; }
|
||||||
|
Mod+Shift+1 { move-column-to-workspace 1; }
|
||||||
|
Mod+Shift+2 { move-column-to-workspace 2; }
|
||||||
|
Mod+Shift+3 { move-column-to-workspace 3; }
|
||||||
|
Mod+Shift+4 { move-column-to-workspace 4; }
|
||||||
|
Mod+Shift+5 { move-column-to-workspace 5; }
|
||||||
|
Mod+Shift+6 { move-column-to-workspace 6; }
|
||||||
|
Mod+Shift+7 { move-column-to-workspace 7; }
|
||||||
|
Mod+Shift+8 { move-column-to-workspace 8; }
|
||||||
|
Mod+Shift+9 { move-column-to-workspace 9; }
|
||||||
|
|
||||||
|
Mod+Tab { focus-workspace-previous; }
|
||||||
|
|
||||||
|
Mod+BracketLeft { consume-or-expel-window-left; }
|
||||||
|
Mod+BracketRight { consume-or-expel-window-right; }
|
||||||
|
|
||||||
|
Mod+Comma { consume-window-into-column; }
|
||||||
|
|
||||||
|
Mod+Period { expel-window-from-column; }
|
||||||
|
|
||||||
|
Mod+R { switch-preset-column-width; }
|
||||||
|
Mod+Shift+R { switch-preset-window-height; }
|
||||||
|
Mod+Ctrl+R { reset-window-height; }
|
||||||
|
Mod+M { maximize-column; }
|
||||||
|
Mod+Shift+M { fullscreen-window; }
|
||||||
|
Mod+Z { center-column; }
|
||||||
|
|
||||||
|
Mod+Minus { set-column-width "-10%"; }
|
||||||
|
Mod+Equal { set-column-width "+10%"; }
|
||||||
|
|
||||||
|
Mod+Shift+Minus { set-window-height "-10%"; }
|
||||||
|
Mod+Shift+Equal { set-window-height "+10%"; }
|
||||||
|
|
||||||
|
Print { screenshot; }
|
||||||
|
Ctrl+Print { screenshot-screen; }
|
||||||
|
Alt+Print { screenshot-window; }
|
||||||
|
|
||||||
|
Mod+Shift+E { quit; }
|
||||||
|
}
|
||||||
13
users/home-manager/niri/default.nix
Normal file
13
users/home-manager/niri/default.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
programs.niri = {
|
||||||
|
package = pkgs.niri-unstable;
|
||||||
|
config = builtins.readFile ./config.kdl;
|
||||||
|
};
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
mako
|
||||||
|
swaybg
|
||||||
|
xwayland-satellite
|
||||||
|
waybar
|
||||||
|
];
|
||||||
|
}
|
||||||
15
users/home-manager/zed.nix
Normal file
15
users/home-manager/zed.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
programs.zed-editor = {
|
||||||
|
enable = true;
|
||||||
|
extensions = [
|
||||||
|
"nix"
|
||||||
|
"toml"
|
||||||
|
"make"
|
||||||
|
"rust"
|
||||||
|
];
|
||||||
|
userSettings = {
|
||||||
|
vim_mode = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
11
users/nh.nix
Normal file
11
users/nh.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
programs.nh = {
|
||||||
|
enable = true;
|
||||||
|
clean.enable = true;
|
||||||
|
clean.extraArgs = "--keep-since 4d --keep 3";
|
||||||
|
flake = ./..;
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue