mirror of
https://github.com/Dichgrem/DCGOS.git
synced 2025-12-16 11:12:00 -05:00
Compare commits
11 Commits
d1e8ee7374
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0bd5d771c0 | ||
|
|
85ee50e214 | ||
|
|
d0c16e345a | ||
|
|
608238846f | ||
|
|
0c20b462be | ||
|
|
e3ff465632 | ||
|
|
ce1d4b644b | ||
|
|
07349f3fd7 | ||
|
|
21201ec897 | ||
|
|
50185f2b0a | ||
|
|
ea529f56a9 |
51
Justfile
51
Justfile
@@ -5,79 +5,80 @@ hostname := `hostname`
|
||||
username := `whoami`
|
||||
|
||||
|
||||
anywhere input:
|
||||
@anywhere input:
|
||||
# Perform nixos-anywhere install
|
||||
nix run github:nix-community/nixos-anywhere -- --generate-hardware-config nixos-generate-config ./hosts/{{input}}/hardware.nix --flake .#{{input}} --target-host root@{{input}}
|
||||
|
||||
|
||||
anywhere-lb input:
|
||||
@anywhere-lb input:
|
||||
# Perform nixos-anywhere install (local builder)
|
||||
nix run github:nix-community/nixos-anywhere -- --generate-hardware-config nixos-generate-config ./hosts/{{input}}/hardware.nix --flake .#{{input}} --target-host root@{{input}} --build-on local
|
||||
|
||||
|
||||
anywhere-vm input:
|
||||
@anywhere-vm input:
|
||||
# Test nixos-anywhere install in vm
|
||||
nix run github:nix-community/nixos-anywhere -- --flake .#{{input}} --vm-test
|
||||
|
||||
|
||||
build input:
|
||||
@build input:
|
||||
# Build
|
||||
sudo nixos-rebuild build --flake .#{{input}} --show-trace -L -v
|
||||
|
||||
|
||||
build-vm input:
|
||||
@build-vm input:
|
||||
# Build a vm
|
||||
sudo nixos-rebuild build-vm --flake .#{{input}} --show-trace -L -v
|
||||
|
||||
|
||||
clean:
|
||||
@switch input:
|
||||
# Let system rebuild and switch
|
||||
sudo nixos-rebuild switch --flake .#{{input}} --show-trace -L -v
|
||||
|
||||
|
||||
@clean:
|
||||
# Remove useless nix-channel files
|
||||
sudo rm -rf /nix/var/nix/profiles/per-user/root/channels /root/.nix-defexpr/channels
|
||||
|
||||
|
||||
format:
|
||||
# Use alejandra and deadnix to format code
|
||||
deadnix -e
|
||||
alejandra .
|
||||
|
||||
|
||||
gc:
|
||||
@gc:
|
||||
# Do garbage-clean (remove unused packages, etc)
|
||||
sudo nix profile wipe-history --older-than 7d --profile /nix/var/nix/profiles/system
|
||||
sudo nix-collect-garbage --delete-old
|
||||
|
||||
|
||||
ghc:
|
||||
@ghc:
|
||||
# Generate hardware.nix
|
||||
nixos-generate-config --show-hardware-config > ./hosts/{{hostname}}/hardware.nix
|
||||
|
||||
|
||||
install:
|
||||
@install:
|
||||
# Install this flake
|
||||
bash install.sh
|
||||
|
||||
|
||||
list:
|
||||
@cat:
|
||||
# List system packages
|
||||
nix-store -qR /run/current-system | cat
|
||||
|
||||
|
||||
profile:
|
||||
# Show system profile
|
||||
sudo nix profile history --profile /nix/var/nix/profiles/system
|
||||
@list:
|
||||
sudo nix-env -p /nix/var/nix/profiles/system --list-generations
|
||||
|
||||
|
||||
switch input:
|
||||
# Let system rebuild and switch
|
||||
sudo nixos-rebuild switch --flake .#{{input}} --show-trace -L -v
|
||||
@diff:
|
||||
sudo nix profile diff-closures --profile /nix/var/nix/profiles/system
|
||||
|
||||
|
||||
update:
|
||||
@delete generation:
|
||||
sudo nix-env -p /nix/var/nix/profiles/system --delete-generations {{generation}}
|
||||
|
||||
|
||||
@update:
|
||||
# Update flake.lock
|
||||
nix flake update --extra-experimental-features flakes --extra-experimental-features nix-command --show-trace
|
||||
|
||||
|
||||
upgrade:
|
||||
@upgrade:
|
||||
# Let system totally upgrade
|
||||
## Set hostname and username in flake.nix
|
||||
sed -i "/^\s*hostname[[:space:]]*=[[:space:]]*\"/s/\"\(.*\)\"/\"{{hostname}}\"/" ./flake.nix
|
||||
@@ -87,7 +88,7 @@ upgrade:
|
||||
sudo nixos-rebuild switch --flake .#{{hostname}} --show-trace
|
||||
|
||||
|
||||
upgrade-debug:
|
||||
@upgrade-debug:
|
||||
# Let system totally upgrade (deBug Mode)
|
||||
## Set hostname and username in flake.nix
|
||||
sed -i "/^\s*hostname[[:space:]]*=[[:space:]]*\"/s/\"\(.*\)\"/\"{{hostname}}\"/" ./flake.nix
|
||||
|
||||
7
dotfiles/.config/niri/config.kdl
vendored
7
dotfiles/.config/niri/config.kdl
vendored
@@ -181,9 +181,8 @@ binds {
|
||||
|
||||
environment {
|
||||
CURRENT_COMPOSITOR "niri"
|
||||
DISPLAY ":0"
|
||||
XDG_CURRENT_DESKTOP "niri"
|
||||
XDG_SESSION_DESKTOP "niri"
|
||||
XDG_CURRENT_DESKTOP "Niri"
|
||||
XDG_SESSION_DESKTOP "Niri"
|
||||
}
|
||||
|
||||
|
||||
@@ -201,7 +200,7 @@ spawn-at-startup "blueman-applet"
|
||||
spawn-at-startup "sh" "-c" "dbus-update-activation-environment --systemd --all && systemctl --user stop niri-session.target && systemctl --user start niri-session.target"
|
||||
spawn-at-startup "swayosd-server"
|
||||
spawn-at-startup "swww-daemon"
|
||||
spawn-at-startup "sh" "-c" "sleep 1 && swww img $HOME/Git/DCGOS/dotfiles/.local/share/wallpapers/yohoho.jpg"
|
||||
spawn-at-startup "swww" "img" "$HOME/Git/DCGOS/dotfiles/.local/share/wallpapers/yohoho.jpg"
|
||||
spawn-at-startup "swww" "restore"
|
||||
spawn-at-startup "waybar"
|
||||
spawn-at-startup "lxqt-policykit-agent"
|
||||
|
||||
4
dotfiles/.config/niri/switch_monitors.sh
vendored
4
dotfiles/.config/niri/switch_monitors.sh
vendored
@@ -48,3 +48,7 @@ echo "$NEXT_MODE" > "$STATE_FILE"
|
||||
# 刷新 Niri 布局(防止残影)
|
||||
sleep 0.5
|
||||
niri msg reload-layout >/dev/null 2>&1 || true
|
||||
pkill swayosd-server
|
||||
(swayosd-server &>/dev/null &)
|
||||
pkill wl-gammarelay-rs
|
||||
(wl-gammarelay-rs &>/dev/null &)
|
||||
|
||||
5
dotfiles/.config/waybar/config.jsonc
vendored
5
dotfiles/.config/waybar/config.jsonc
vendored
@@ -10,7 +10,7 @@
|
||||
"custom/startmenu",
|
||||
"backlight",
|
||||
"wireplumber",
|
||||
"battery",
|
||||
"custom/wl-gammarelay-brightness",
|
||||
"hyprland/workspaces",
|
||||
"niri/workspaces",
|
||||
"sway/workspaces"
|
||||
@@ -21,9 +21,9 @@
|
||||
"modules-right": [
|
||||
"custom/screenshot",
|
||||
"tray",
|
||||
"custom/wl-gammarelay-brightness",
|
||||
// "custom/wl-gammarelay-temperature",
|
||||
"clock",
|
||||
"battery",
|
||||
"custom/swaync",
|
||||
],
|
||||
|
||||
@@ -182,4 +182,3 @@
|
||||
"escape": true,
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
24
dotfiles/.config/waybar/style.css
vendored
24
dotfiles/.config/waybar/style.css
vendored
@@ -131,3 +131,27 @@ tooltip label {
|
||||
padding-right: 8px;
|
||||
padding-left: 10px;
|
||||
}
|
||||
#custom-startmenu {
|
||||
color: @overlay2;
|
||||
}
|
||||
|
||||
#wireplumber {
|
||||
color: @green;
|
||||
}
|
||||
|
||||
#custom-wl-gammarelay-brightness {
|
||||
color: @sapphire;
|
||||
}
|
||||
|
||||
#custom-wl-gammarelay-temperature {
|
||||
color: @teal;
|
||||
}
|
||||
|
||||
#custom-swaync {
|
||||
color: @overlay2;
|
||||
}
|
||||
|
||||
#wlr-taskbar {
|
||||
color: @subtext0;
|
||||
}
|
||||
|
||||
|
||||
338
flake.lock
generated
338
flake.lock
generated
@@ -38,11 +38,11 @@
|
||||
"base16-helix": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1752979451,
|
||||
"narHash": "sha256-0CQM+FkYy0fOO/sMGhOoNL80ftsAzYCg9VhIrodqusM=",
|
||||
"lastModified": 1760703920,
|
||||
"narHash": "sha256-m82fGUYns4uHd+ZTdoLX2vlHikzwzdu2s2rYM2bNwzw=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-helix",
|
||||
"rev": "27cf1e66e50abc622fb76a3019012dc07c678fac",
|
||||
"rev": "d646af9b7d14bff08824538164af99d0c521b185",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -68,33 +68,10 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"chaotic": {
|
||||
"inputs": {
|
||||
"flake-schemas": "flake-schemas",
|
||||
"home-manager": "home-manager",
|
||||
"jovian": "jovian",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764153295,
|
||||
"narHash": "sha256-Y+Cp19zLo5JZVLSbzpyCTSK1bVYfE3Leuut6nQVkdR4=",
|
||||
"owner": "chaotic-cx",
|
||||
"repo": "nyx",
|
||||
"rev": "29c49282c9b2e8216004a87086494defe401fee8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "chaotic-cx",
|
||||
"ref": "nyxpkgs-unstable",
|
||||
"repo": "nyx",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"daeuniverse": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1762203410,
|
||||
@@ -117,11 +94,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764110879,
|
||||
"narHash": "sha256-xanUzIb0tf3kJ+PoOFmXEXV1jM3PjkDT/TQ5DYeNYRc=",
|
||||
"lastModified": 1765326679,
|
||||
"narHash": "sha256-fTLX9kDwLr9Y0rH/nG+h1XG5UU+jBcy0PFYn5eneRX8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"rev": "aecba248f9a7d68c5d1ed15de2d1c8a4c994a3c5",
|
||||
"rev": "d64e5cdca35b5fad7c504f615357a7afe6d9c49e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -133,11 +110,11 @@
|
||||
"firefox-gnome-theme": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1758112371,
|
||||
"narHash": "sha256-lizRM2pj6PHrR25yimjyFn04OS4wcdbc38DCdBVa2rk=",
|
||||
"lastModified": 1764724327,
|
||||
"narHash": "sha256-OkFLrD3pFR952TrjQi1+Vdj604KLcMnkpa7lkW7XskI=",
|
||||
"owner": "rafaelmardojai",
|
||||
"repo": "firefox-gnome-theme",
|
||||
"rev": "0909cfe4a2af8d358ad13b20246a350e14c2473d",
|
||||
"rev": "66b7c635763d8e6eb86bd766de5a1e1fbfcc1047",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -172,11 +149,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1763759067,
|
||||
"narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=",
|
||||
"lastModified": 1765495779,
|
||||
"narHash": "sha256-MhA7wmo/7uogLxiewwRRmIax70g6q1U/YemqTGoFHlM=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0",
|
||||
"rev": "5635c32d666a59ec9a55cab87e898889869f7b71",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -193,11 +170,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1756770412,
|
||||
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
|
||||
"lastModified": 1763759067,
|
||||
"narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "4524271976b625a4a605beefd893f270620fd751",
|
||||
"rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -206,38 +183,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-schemas": {
|
||||
"locked": {
|
||||
"lastModified": 1721999734,
|
||||
"narHash": "sha256-G5CxYeJVm4lcEtaO87LKzOsVnWeTcHGKbKxNamNWgOw=",
|
||||
"rev": "0a5c42297d870156d9c57d8f99e476b738dcd982",
|
||||
"revCount": 75,
|
||||
"type": "tarball",
|
||||
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.5/0190ef2f-61e0-794b-ba14-e82f225e55e6/source.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%3D0.1.5.tar.gz"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"fromYaml": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@@ -258,11 +203,11 @@
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"host": "gitlab.gnome.org",
|
||||
"lastModified": 1762869044,
|
||||
"narHash": "sha256-nwm/GJ2Syigf7VccLAZ66mFC8mZJFqpJmIxSGKl7+Ds=",
|
||||
"lastModified": 1764524476,
|
||||
"narHash": "sha256-bTmNn3Q4tMQ0J/P0O5BfTQwqEnCiQIzOGef9/aqAZvk=",
|
||||
"owner": "GNOME",
|
||||
"repo": "gnome-shell",
|
||||
"rev": "680e3d195a92203f28d4bf8c6e8bb537cc3ed4ad",
|
||||
"rev": "c0e1ad9f0f703fd0519033b8f46c3267aab51a22",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
@@ -276,16 +221,15 @@
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"chaotic",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764075860,
|
||||
"narHash": "sha256-KYEIHCBBw+/lwKsJNRNoUxBB4ZY2LK0G0T8f+0i65q0=",
|
||||
"lastModified": 1765606130,
|
||||
"narHash": "sha256-KOP4QnkiRwiD5KEOr6ceF67rfTP1OqPmCCft6xDC3k4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "295d90e22d557ccc3049dc92460b82f372cd3892",
|
||||
"rev": "d787ec69c3216ea33be1c0424fe65cb23aa8fb31",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -294,106 +238,13 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764304195,
|
||||
"narHash": "sha256-bO7FN/bF6gG7TlZpKAZjO3VvfsLaPFkefeUfJJ7F/7w=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "86ff0ef506c209bb397849706e85cc3a913cb577",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"ixx": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"nixvim",
|
||||
"nuschtosSearch",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nuschtosSearch",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1754860581,
|
||||
"narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "ixx",
|
||||
"rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"ref": "v0.1.1",
|
||||
"repo": "ixx",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"jovian": {
|
||||
"inputs": {
|
||||
"nix-github-actions": "nix-github-actions",
|
||||
"nixpkgs": [
|
||||
"chaotic",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1763714684,
|
||||
"narHash": "sha256-ZNJPAaeSYQTDgvwwE8XHhCz4HiHqYoUyoXdoBE2nxug=",
|
||||
"owner": "Jovian-Experiments",
|
||||
"repo": "Jovian-NixOS",
|
||||
"rev": "6178d787ee61b8586fdb0ccb8644fbfd5317d0f3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Jovian-Experiments",
|
||||
"repo": "Jovian-NixOS",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-github-actions": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"chaotic",
|
||||
"jovian",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1729697500,
|
||||
"narHash": "sha256-VFTWrbzDlZyFHHb1AlKRiD/qqCJIripXKiCSFS8fAOY=",
|
||||
"owner": "zhaofengli",
|
||||
"repo": "nix-github-actions",
|
||||
"rev": "e418aeb728b6aa5ca8c5c71974e7159c2df1d8cf",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "zhaofengli",
|
||||
"ref": "matrix-name",
|
||||
"repo": "nix-github-actions",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1763966396,
|
||||
"narHash": "sha256-6eeL1YPcY1MV3DDStIDIdy/zZCDKgHdkCmsrLJFiZf0=",
|
||||
"lastModified": 1739866667,
|
||||
"narHash": "sha256-EO1ygNKZlsAC9avfcwHkKGMsmipUk1Uc0TbrEZpkn64=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5ae3b07d8d6527c42f17c876e404993199144b6a",
|
||||
"rev": "73cf49b8ad837ade2de76f87eb53fc85ed5d4680",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -417,15 +268,15 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1739866667,
|
||||
"narHash": "sha256-EO1ygNKZlsAC9avfcwHkKGMsmipUk1Uc0TbrEZpkn64=",
|
||||
"owner": "NixOS",
|
||||
"lastModified": 1765472234,
|
||||
"narHash": "sha256-9VvC20PJPsleGMewwcWYKGzDIyjckEz8uWmT0vCDYK0=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "73cf49b8ad837ade2de76f87eb53fc85ed5d4680",
|
||||
"rev": "2fbfb1d73d239d2402a8fe03963e37aab15abe8b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
@@ -433,27 +284,11 @@
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1763966396,
|
||||
"narHash": "sha256-6eeL1YPcY1MV3DDStIDIdy/zZCDKgHdkCmsrLJFiZf0=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5ae3b07d8d6527c42f17c876e404993199144b6a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1762977756,
|
||||
"narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=",
|
||||
"lastModified": 1764517877,
|
||||
"narHash": "sha256-pp3uT4hHijIC8JUK5MEqeAWmParJrgBVzHLNfJDZxg4=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55",
|
||||
"rev": "2d293cbfa5a793b4c50d17c05ef9e385b90edf6c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -469,15 +304,14 @@
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nuschtosSearch": "nuschtosSearch",
|
||||
"systems": "systems_2"
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764238240,
|
||||
"narHash": "sha256-7Znm3koZ4sF+O41Y7rJqf651BPEbjIUYF3r9H23GRGw=",
|
||||
"lastModified": 1765646394,
|
||||
"narHash": "sha256-yqeB023/s/SOxhpm4SFKBDHagzn5L/KF7bCA10ZH/Q4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "f1e07ba53abd0fb4872a365cba45562144ad6130",
|
||||
"rev": "c97e8e34250c7fe5d4e0c3333a0ca4a9d28957d0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -498,11 +332,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1758998580,
|
||||
"narHash": "sha256-VLx0z396gDCGSiowLMFz5XRO/XuNV+4EnDYjdJhHvUk=",
|
||||
"lastModified": 1764773531,
|
||||
"narHash": "sha256-mCBl7MD1WZ7yCG6bR9MmpPO2VydpNkWFgnslJRIT1YU=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "ba8d9c98f5f4630bcb0e815ab456afd90c930728",
|
||||
"rev": "1d9616689e98beded059ad0384b9951e967a17fa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -511,61 +345,16 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nuschtosSearch": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"ixx": "ixx",
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1761730856,
|
||||
"narHash": "sha256-t1i5p/vSWwueZSC0Z2BImxx3BjoUDNKyC2mk24krcMY=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"rev": "e29de6db0cb3182e9aee75a3b1fd1919d995d85b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"chaotic": "chaotic",
|
||||
"daeuniverse": "daeuniverse",
|
||||
"disko": "disko",
|
||||
"home-manager": "home-manager_2",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixvim": "nixvim",
|
||||
"stylix": "stylix"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"chaotic",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764038373,
|
||||
"narHash": "sha256-M6w2wNBRelcavoDAyFL2iO4NeWknD40ASkH1S3C0YGM=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "ab3536fe850211a96673c6ffb2cb88aab8071cc9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"stylix": {
|
||||
"inputs": {
|
||||
"base16": "base16",
|
||||
@@ -575,9 +364,9 @@
|
||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||
"flake-parts": "flake-parts_3",
|
||||
"gnome-shell": "gnome-shell",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"nur": "nur",
|
||||
"systems": "systems_3",
|
||||
"systems": "systems_2",
|
||||
"tinted-foot": "tinted-foot",
|
||||
"tinted-kitty": "tinted-kitty",
|
||||
"tinted-schemes": "tinted-schemes",
|
||||
@@ -585,11 +374,11 @@
|
||||
"tinted-zed": "tinted-zed"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764254063,
|
||||
"narHash": "sha256-V22JzkaTLF/GAL2LgqvOsJhAr8JbJsKaD8hnHjGwXfE=",
|
||||
"lastModified": 1765474444,
|
||||
"narHash": "sha256-sDG+c73xEnIw1pFNRWffKDnTWiTuyZiEP+Iub0D3mWA=",
|
||||
"owner": "danth",
|
||||
"repo": "stylix",
|
||||
"rev": "a1451bc40413870f0c7b576b751c1ca92055e323",
|
||||
"rev": "dd14de4432a94e93e10d0159f1d411487e435e1e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -628,21 +417,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-foot": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
@@ -679,11 +453,11 @@
|
||||
"tinted-schemes": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1757716333,
|
||||
"narHash": "sha256-d4km8W7w2zCUEmPAPUoLk1NlYrGODuVa3P7St+UrqkM=",
|
||||
"lastModified": 1763914658,
|
||||
"narHash": "sha256-Hju0WtMf3iForxtOwXqGp3Ynipo0EYx1AqMKLPp9BJw=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "schemes",
|
||||
"rev": "317a5e10c35825a6c905d912e480dfe8e71c7559",
|
||||
"rev": "0f6be815d258e435c9b137befe5ef4ff24bea32c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -695,11 +469,11 @@
|
||||
"tinted-tmux": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1757811970,
|
||||
"narHash": "sha256-n5ZJgmzGZXOD9pZdAl1OnBu3PIqD+X3vEBUGbTi4JiI=",
|
||||
"lastModified": 1764465359,
|
||||
"narHash": "sha256-lbSVPqLEk2SqMrnpvWuKYGCaAlfWFMA6MVmcOFJjdjE=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-tmux",
|
||||
"rev": "d217ba31c846006e9e0ae70775b0ee0f00aa6b1e",
|
||||
"rev": "edf89a780e239263cc691a987721f786ddc4f6aa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -711,11 +485,11 @@
|
||||
"tinted-zed": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1757811247,
|
||||
"narHash": "sha256-4EFOUyLj85NRL3OacHoLGEo0wjiRJzfsXtR4CZWAn6w=",
|
||||
"lastModified": 1764464512,
|
||||
"narHash": "sha256-rCD/pAhkMdCx6blsFwxIyvBJbPZZ1oL2sVFrH07lmqg=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-zed",
|
||||
"rev": "824fe0aacf82b3c26690d14e8d2cedd56e18404e",
|
||||
"rev": "907dbba5fb8cf69ebfd90b00813418a412d0a29a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
description = "🥶";
|
||||
|
||||
inputs = {
|
||||
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
|
||||
# chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
|
||||
daeuniverse.url = "github:daeuniverse/flake.nix";
|
||||
disko.inputs.nixpkgs.follows = "nixpkgs";
|
||||
disko.url = "github:nix-community/disko";
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
{pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
gui-for-singbox
|
||||
];
|
||||
}
|
||||
@@ -45,6 +45,7 @@
|
||||
python312Packages.python-lsp-server
|
||||
|
||||
#JS/TS/Web
|
||||
biome
|
||||
prettierd
|
||||
nodePackages.prettier
|
||||
|
||||
@@ -93,7 +94,6 @@
|
||||
which-key-nvim
|
||||
fzf-lua
|
||||
snacks-nvim
|
||||
markview-nvim
|
||||
{
|
||||
name = "lazydev.nvim";
|
||||
path = lazydev-nvim;
|
||||
@@ -223,8 +223,6 @@
|
||||
yaml
|
||||
toml
|
||||
dockerfile
|
||||
markdown
|
||||
markdown_inline
|
||||
])).dependencies;
|
||||
};
|
||||
in
|
||||
|
||||
@@ -5,40 +5,31 @@
|
||||
local map = vim.keymap.set
|
||||
local opts = { noremap = true, silent = true }
|
||||
|
||||
-- === VSCode-like buffer/tab navigation ===
|
||||
-- === VSCode-like buffer/tab navigation ===
|
||||
map("n", "<C-Tab>", "<cmd>bnext<CR>", { desc = "Next buffer (like VSCode)" })
|
||||
map("n", "<C-S-Tab>", "<cmd>bprevious<CR>", { desc = "Previous buffer (like VSCode)" })
|
||||
|
||||
-- === Close buffer like Ctrl + W in VSCode ===
|
||||
vim.keymap.set("n", "<C-w>", "<cmd>BufferLinePickClose<CR>", { desc = "Close buffer (BufferLine)" })
|
||||
-- === Vscode-like Close buffer navigation ===
|
||||
vim.keymap.set("n", "<C-w>", function()
|
||||
local current = vim.api.nvim_get_current_buf()
|
||||
local buffers = vim.fn.getbufinfo({buflisted = 1})
|
||||
|
||||
vim.keymap.set("n", "<C-S-5>", function()
|
||||
if vim.bo.buftype == "terminal" then
|
||||
vim.cmd("vsplit | terminal")
|
||||
else
|
||||
vim.cmd("botright split | terminal")
|
||||
end
|
||||
end, { desc = "Split terminal" })
|
||||
local next_buf = nil
|
||||
for i, buf in ipairs(buffers) do
|
||||
if buf.bufnr == current then
|
||||
next_buf = buffers[i + 1] or buffers[i - 1]
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
-- 在终端模式下的快捷键
|
||||
vim.keymap.set("t", "<C-h>", "<C-\\><C-n><C-w>h", { desc = "Go to left window" })
|
||||
vim.keymap.set("t", "<C-j>", "<C-\\><C-n><C-w>j", { desc = "Go to lower window" })
|
||||
vim.keymap.set("t", "<C-k>", "<C-\\><C-n><C-w>k", { desc = "Go to upper window" })
|
||||
vim.keymap.set("t", "<C-l>", "<C-\\><C-n><C-w>l", { desc = "Go to right window" })
|
||||
if next_buf then
|
||||
vim.api.nvim_set_current_buf(next_buf.bufnr)
|
||||
end
|
||||
|
||||
vim.api.nvim_buf_delete(current, { force = true })
|
||||
end, { desc = "Close current buffer like VSCode" })
|
||||
|
||||
-- XDG Open
|
||||
vim.keymap.set("n", "<leader>xo", function()
|
||||
vim.fn.jobstart({ "xdg-open", vim.fn.expand("%:p") }, { detach = true })
|
||||
end, { desc = "使用系统默认应用程序打开当前文件" })
|
||||
|
||||
-- === Markdown priview ===
|
||||
vim.keymap.set("n", "<leader>mp", "<cmd>Markview<CR>", {
|
||||
desc = "Toggle Markview Inline Preview",
|
||||
})
|
||||
-- 开启对比预览
|
||||
vim.keymap.set("n", "<leader>mv", "<cmd>Markview splitToggle<CR>", {
|
||||
desc = "Toggle Markview Split Preview",
|
||||
})
|
||||
-- 关闭对比预览
|
||||
vim.keymap.set("n", "<leader>mc", "<cmd>Markview splitClose<CR>", {
|
||||
desc = "Close Markview Split Preview",
|
||||
})
|
||||
|
||||
@@ -1,4 +1,16 @@
|
||||
-- Options are automatically loaded before lazy.nvim startup
|
||||
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
|
||||
-- Add any additional options here
|
||||
vim.g.autoformat = false
|
||||
|
||||
-- Disable autoformat
|
||||
vim.g.autoformat = false
|
||||
-- Let terminal just one
|
||||
vim.g.root_spec = { "cwd" }
|
||||
-- Disable markdown views
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = "markdown",
|
||||
callback = function()
|
||||
vim.opt_local.conceallevel = 0
|
||||
vim.opt_local.concealcursor = ""
|
||||
end,
|
||||
})
|
||||
|
||||
28
home/nvim/lua/plugins/copilot.lua
Normal file
28
home/nvim/lua/plugins/copilot.lua
Normal file
@@ -0,0 +1,28 @@
|
||||
return {
|
||||
{
|
||||
"zbirenbaum/copilot.lua",
|
||||
cmd = "Copilot",
|
||||
event = "InsertEnter",
|
||||
config = function()
|
||||
require("copilot").setup({
|
||||
suggestion = { enabled = true, auto_trigger = true },
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"CopilotC-Nvim/CopilotChat.nvim",
|
||||
branch = "main",
|
||||
dependencies = {
|
||||
{ "zbirenbaum/copilot.lua" },
|
||||
{ "nvim-lua/plenary.nvim" },
|
||||
},
|
||||
opts = {
|
||||
debug = false,
|
||||
},
|
||||
keys = {
|
||||
{ "<leader>cc", "<cmd>CopilotChatToggle<cr>", desc = "CopilotChat - Toggle" },
|
||||
{ "<leader>ce", "<cmd>CopilotChatExplain<cr>", mode = "v", desc = "CopilotChat - Explain code" },
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -34,11 +34,11 @@ return {
|
||||
-- Python
|
||||
opts.formatters_by_ft.python = { "black", "ruff_format" }
|
||||
-- JS/TS/Web
|
||||
opts.formatters_by_ft.javascript = { "prettierd" }
|
||||
opts.formatters_by_ft.typescript = { "prettierd" }
|
||||
opts.formatters_by_ft.javascriptreact = { "prettierd" }
|
||||
opts.formatters_by_ft.typescriptreact = { "prettierd" }
|
||||
opts.formatters_by_ft.vue = { "prettierd" }
|
||||
opts.formatters_by_ft.javascript = { "biome" }
|
||||
opts.formatters_by_ft.typescript = { "biome" }
|
||||
opts.formatters_by_ft.javascriptreact = { "biome" }
|
||||
opts.formatters_by_ft.typescriptreact = { "biome" }
|
||||
opts.formatters_by_ft.vue = { "biome" }
|
||||
-- JSON
|
||||
opts.formatters_by_ft.json = { "jq" }
|
||||
-- YAML
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
return {
|
||||
"OXY2DEV/markview.nvim",
|
||||
name = "markview.nvim",
|
||||
lazy = false,
|
||||
dependencies = {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
config = function()
|
||||
require("markview").setup({
|
||||
markdown = { enable = true },
|
||||
latex = {
|
||||
enable = true,
|
||||
inline = { enable = true },
|
||||
block = { enable = true },
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
_: {
|
||||
services.hyprpolkitagent.enable = true;
|
||||
}
|
||||
@@ -8,39 +8,45 @@
|
||||
in
|
||||
with lib;
|
||||
mkIf (WM == "niri") {
|
||||
systemd.user.targets.niri-session = {
|
||||
Unit = {
|
||||
Description = "niri compositor session";
|
||||
Documentation = "man:systemd.special(7)";
|
||||
};
|
||||
Target = {
|
||||
After = "graphical-session-pre.target";
|
||||
BindsTo = "graphical-session.target";
|
||||
Wants = "graphical-session-pre.target";
|
||||
DefaultDependencies = false;
|
||||
};
|
||||
};
|
||||
systemd.user.services.xdg-desktop-portal-gnome = {
|
||||
Unit = {
|
||||
Description = "Portal service (GNOME implementation)";
|
||||
};
|
||||
Service = {
|
||||
Type = "dbus";
|
||||
BusName = "org.freedesktop.impl.portal.desktop.gnome";
|
||||
ExecStart = "${pkgs.xdg-desktop-portal-gnome}/libexec/xdg-desktop-portal-gnome";
|
||||
};
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
niri
|
||||
xwayland-satellite
|
||||
];
|
||||
systemd.user.services.xdg-desktop-portal-gtk = {
|
||||
Unit = {
|
||||
Description = "Portal service (GTK implementation)";
|
||||
PartOf = ["graphical-session.target"];
|
||||
After = ["graphical-session.target"];
|
||||
};
|
||||
Service = {
|
||||
Type = "dbus";
|
||||
BusName = "org.freedesktop.impl.portal.desktop.gtk";
|
||||
ExecStart = "${pkgs.xdg-desktop-portal-gtk}/libexec/xdg-desktop-portal-gtk";
|
||||
Slice = "session.slice";
|
||||
};
|
||||
Install = {
|
||||
WantedBy = ["xdg-desktop-portal.service"];
|
||||
};
|
||||
};
|
||||
systemd.user.targets.niri-session = {
|
||||
Unit = {
|
||||
After = "graphical-session-pre.target graphical-session.target";
|
||||
BindsTo = "graphical-session.target";
|
||||
Conflicts = "shutdown.target";
|
||||
DefaultDependencies = false;
|
||||
Description = "niri compositor session";
|
||||
Documentation = "man:systemd.special(7)";
|
||||
Wants = "graphical-session-pre.target";
|
||||
};
|
||||
};
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
config = {
|
||||
common = {
|
||||
default = [
|
||||
"gnome"
|
||||
"gtk"
|
||||
];
|
||||
default = ["gtk"];
|
||||
"org.freedesktop.impl.portal.RemoteDesktop" = "gnome";
|
||||
"org.freedesktop.impl.portal.ScreenCast" = "gnome";
|
||||
"org.freedesktop.impl.portal.Screenshot" = "gnome";
|
||||
};
|
||||
};
|
||||
extraPortals = [
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
}: {
|
||||
imports = with inputs; [
|
||||
./${hostname}
|
||||
chaotic.nixosModules.default
|
||||
# chaotic.nixosModules.default
|
||||
disko.nixosModules.disko
|
||||
stylix.nixosModules.stylix
|
||||
home-manager.nixosModules.home-manager
|
||||
|
||||
@@ -6,7 +6,9 @@
|
||||
|
||||
GPU-AMD = true;
|
||||
### See https://nixos.wiki/wiki/AMD_GPU
|
||||
|
||||
|
||||
SingBox = true;
|
||||
|
||||
Power-control = "TLP";
|
||||
### Possible options: PPD ; TLP
|
||||
|
||||
@@ -21,7 +23,7 @@
|
||||
BootLoader = "systemd-boot";
|
||||
### Possible options: grub ; grub-mirror ; systemd-boot # See https://nixos.wiki/wiki/Bootloader https://search.nixos.org/options?channel=unstable&from=0&size=50&sort=relevance&type=packages&query=mirroredBoots
|
||||
|
||||
KernelPackages = "linuxPackages_cachyos";
|
||||
KernelPackages = "linuxPackages_zen";
|
||||
### See https://search.nixos.org/options?show=boot.kernelPackages https://www.nyx.chaotic.cx/#using-sched-ext-schedulers
|
||||
|
||||
KeyboardLayout = "us";
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/67e9d418-8f31-4af7-9178-ae9641099844";
|
||||
{ device = "/dev/mapper/luks-6647cbcd-ed3a-4205-9a2c-78e337e2f3bf";
|
||||
fsType = "xfs";
|
||||
};
|
||||
|
||||
@@ -28,13 +28,6 @@
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
HotSpot-Use-Case = false;
|
||||
### See https://nixos.wiki/wiki/Internet_Connection_Sharing
|
||||
|
||||
SingBox = true;
|
||||
|
||||
Power control = "PPD";
|
||||
### Possible options: PPD ; TLP
|
||||
|
||||
@@ -30,7 +32,7 @@
|
||||
BootLoader = "systemd-boot";
|
||||
### Possible options: grub ; grub-mirror ; systemd-boot # See https://nixos.wiki/wiki/Bootloader https://search.nixos.org/options?channel=unstable&from=0&size=50&sort=relevance&type=packages&query=mirroredBoots
|
||||
|
||||
KernelPackages = "linuxPackages_cachyos";
|
||||
KernelPackages = "linuxPackages_zen";
|
||||
### See https://search.nixos.org/options?show=boot.kernelPackages https://www.nyx.chaotic.cx/#using-sched-ext-schedulers
|
||||
|
||||
KeyboardLayout = "us";
|
||||
|
||||
@@ -9,7 +9,7 @@ in
|
||||
config = mkIf Bluetooth {
|
||||
hardware.bluetooth = {
|
||||
enable = lib.mkDefault true;
|
||||
powerOnBoot = lib.mkDefault true;
|
||||
powerOnBoot = lib.mkDefault false;
|
||||
};
|
||||
services.blueman.enable = lib.mkDefault true;
|
||||
};
|
||||
|
||||
@@ -8,10 +8,14 @@ in {
|
||||
services = {
|
||||
greetd = {
|
||||
enable = true;
|
||||
useTextGreeter = true;
|
||||
settings = {
|
||||
default_session = {
|
||||
user = "greeter";
|
||||
command = "${pkgs.tuigreet}/bin/tuigreet -c ${WM} -t --user-menu";
|
||||
command =
|
||||
if WM == "niri"
|
||||
then "${pkgs.tuigreet}/bin/tuigreet -c niri-session -t --user-menu"
|
||||
else "${pkgs.tuigreet}/bin/tuigreet -c ${WM} -t --user-menu";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -9,9 +9,12 @@ in
|
||||
package = pkgs.mysql84;
|
||||
};
|
||||
|
||||
systemd.services.mysql = {
|
||||
wantedBy = lib.mkForce [ ];
|
||||
};
|
||||
|
||||
environment.systemPackages = [
|
||||
pkgs.dbeaver-bin
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
39
modules/services/sing-box.nix
Normal file
39
modules/services/sing-box.nix
Normal file
@@ -0,0 +1,39 @@
|
||||
{ hostname, lib, pkgs, ... }:
|
||||
with lib;
|
||||
let
|
||||
inherit (import ../../hosts/${hostname}/env.nix) SingBox;
|
||||
in
|
||||
{
|
||||
disabledModules = [ "services/networking/sing-box.nix" ];
|
||||
|
||||
config = mkIf SingBox {
|
||||
|
||||
environment.systemPackages = [ pkgs.sing-box ];
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
"d /etc/sing-box 0755 root root -"
|
||||
];
|
||||
|
||||
systemd.services.sing-box = {
|
||||
description = "sing-box service (custom)";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ ];
|
||||
|
||||
script = ''
|
||||
exec ${pkgs.sing-box}/bin/sing-box -D "$STATE_DIRECTORY" run -c /etc/sing-box/config.json
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
DynamicUser = true;
|
||||
CapabilityBoundingSet = "CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_DAC_OVERRIDE";
|
||||
AmbientCapabilities = "CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_DAC_OVERRIDE";
|
||||
|
||||
NoNewPrivileges = true;
|
||||
StateDirectory = "sing-box";
|
||||
StateDirectoryMode = "0700";
|
||||
Restart = "always";
|
||||
RestartSec = 5;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -17,12 +17,22 @@
|
||||
in
|
||||
with lib; {
|
||||
boot = {
|
||||
bcache.enable = false;
|
||||
consoleLogLevel = 2; # Only errors and warnings are displayed
|
||||
extraModprobeConfig = "blacklist mei mei_hdcp mei_me mei_pxp iTCO_wdt pstore sp5100_tco";
|
||||
extraModulePackages = [
|
||||
config.boot.kernelPackages.v4l2loopback # v4l2loopback is for OBS Virtual Cam Support
|
||||
blacklistedKernelModules = [
|
||||
"iTCO_wdt"
|
||||
"iTCO_vendor_support"
|
||||
"intel_pmc_bxt"
|
||||
"mei"
|
||||
"mei_hdcp"
|
||||
"mei_me"
|
||||
"mei_pxp"
|
||||
"pstore"
|
||||
"sp5100_tco"
|
||||
"wdat_wdt"
|
||||
];
|
||||
consoleLogLevel = 2; # Only errors and warnings are displayed
|
||||
# extraModulePackages = [
|
||||
# config.boot.kernelPackages.v4l2loopback # v4l2loopback is for OBS Virtual Cam Support
|
||||
# ];
|
||||
initrd = {
|
||||
compressor = "zstd";
|
||||
compressorArgs = ["-T0" "-19" "--long"];
|
||||
@@ -33,7 +43,7 @@ in
|
||||
"kernel.core_pattern" = "|/bin/false"; # Disable automatic core dumps
|
||||
"vm.max_map_count" = 2147483642; # Needed For Some Steam Games
|
||||
};
|
||||
kernelModules = ["v4l2loopback"]; # v4l2loopback is for OBS Virtual Cam Support
|
||||
# kernelModules = ["v4l2loopback"]; # v4l2loopback is for OBS Virtual Cam Support
|
||||
kernelPackages = pkgs.${KernelPackages};
|
||||
kernelParams = ["audit=0" "console=tty1" "erst_disable" "nmi_watchdog=0" "noatime" "nowatchdog"];
|
||||
loader = {
|
||||
|
||||
@@ -90,7 +90,7 @@ in {
|
||||
jdk17
|
||||
python312
|
||||
pnpm
|
||||
nodejs_20
|
||||
nodejs_24
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
@@ -31,13 +31,13 @@ with lib; {
|
||||
substituters = [
|
||||
"https://cache.garnix.io" # See https://github.com/daeuniverse/flake.nix
|
||||
"https://cache.nixos.org" # See https://nixos.wiki/wiki/Binary_Cache
|
||||
"https://chaotic-nyx.cachix.org" # See https://github.com/chaotic-cx/nyx
|
||||
# "https://chaotic-nyx.cachix.org" # See https://github.com/chaotic-cx/nyx
|
||||
"https://nix-community.cachix.org" # See https://nix-community.org/cache/
|
||||
];
|
||||
trusted-public-keys = [
|
||||
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
|
||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||
"chaotic-nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8="
|
||||
# "chaotic-nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8="
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
];
|
||||
warn-dirty = false;
|
||||
|
||||
Reference in New Issue
Block a user