mirror of
https://github.com/Dichgrem/DCGOS.git
synced 2025-12-19 04:21:59 -05:00
Compare commits
20 Commits
7683a7c148
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9f94d6c794 | ||
|
|
0ce3551780 | ||
|
|
0bd5d771c0 | ||
|
|
85ee50e214 | ||
|
|
d0c16e345a | ||
|
|
608238846f | ||
|
|
0c20b462be | ||
|
|
e3ff465632 | ||
|
|
ce1d4b644b | ||
|
|
07349f3fd7 | ||
|
|
21201ec897 | ||
|
|
50185f2b0a | ||
|
|
ea529f56a9 | ||
|
|
18f0d3840b | ||
|
|
b25e922bc3 | ||
|
|
003ab2fff7 | ||
|
|
51d40326c4 | ||
|
|
e2a382d90e | ||
|
|
e02cfc5dcd | ||
|
|
02da5c19e2 |
51
Justfile
51
Justfile
@@ -5,79 +5,80 @@ hostname := `hostname`
|
|||||||
username := `whoami`
|
username := `whoami`
|
||||||
|
|
||||||
|
|
||||||
anywhere input:
|
@anywhere input:
|
||||||
# Perform nixos-anywhere install
|
# 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}}
|
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)
|
# 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
|
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
|
# Test nixos-anywhere install in vm
|
||||||
nix run github:nix-community/nixos-anywhere -- --flake .#{{input}} --vm-test
|
nix run github:nix-community/nixos-anywhere -- --flake .#{{input}} --vm-test
|
||||||
|
|
||||||
|
|
||||||
build input:
|
@build input:
|
||||||
# Build
|
# Build
|
||||||
sudo nixos-rebuild build --flake .#{{input}} --show-trace -L -v
|
sudo nixos-rebuild build --flake .#{{input}} --show-trace -L -v
|
||||||
|
|
||||||
|
|
||||||
build-vm input:
|
@build-vm input:
|
||||||
# Build a vm
|
# Build a vm
|
||||||
sudo nixos-rebuild build-vm --flake .#{{input}} --show-trace -L -v
|
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
|
# Remove useless nix-channel files
|
||||||
sudo rm -rf /nix/var/nix/profiles/per-user/root/channels /root/.nix-defexpr/channels
|
sudo rm -rf /nix/var/nix/profiles/per-user/root/channels /root/.nix-defexpr/channels
|
||||||
|
|
||||||
|
|
||||||
format:
|
@gc:
|
||||||
# Use alejandra and deadnix to format code
|
|
||||||
deadnix -e
|
|
||||||
alejandra .
|
|
||||||
|
|
||||||
|
|
||||||
gc:
|
|
||||||
# Do garbage-clean (remove unused packages, etc)
|
# Do garbage-clean (remove unused packages, etc)
|
||||||
sudo nix profile wipe-history --older-than 7d --profile /nix/var/nix/profiles/system
|
sudo nix profile wipe-history --older-than 7d --profile /nix/var/nix/profiles/system
|
||||||
sudo nix-collect-garbage --delete-old
|
sudo nix-collect-garbage --delete-old
|
||||||
|
|
||||||
|
|
||||||
ghc:
|
@ghc:
|
||||||
# Generate hardware.nix
|
# Generate hardware.nix
|
||||||
nixos-generate-config --show-hardware-config > ./hosts/{{hostname}}/hardware.nix
|
nixos-generate-config --show-hardware-config > ./hosts/{{hostname}}/hardware.nix
|
||||||
|
|
||||||
|
|
||||||
install:
|
@install:
|
||||||
# Install this flake
|
# Install this flake
|
||||||
bash install.sh
|
bash install.sh
|
||||||
|
|
||||||
|
|
||||||
list:
|
@cat:
|
||||||
# List system packages
|
# List system packages
|
||||||
nix-store -qR /run/current-system | cat
|
nix-store -qR /run/current-system | cat
|
||||||
|
|
||||||
|
|
||||||
profile:
|
@list:
|
||||||
# Show system profile
|
sudo nix-env -p /nix/var/nix/profiles/system --list-generations
|
||||||
sudo nix profile history --profile /nix/var/nix/profiles/system
|
|
||||||
|
|
||||||
|
|
||||||
switch input:
|
@diff:
|
||||||
# Let system rebuild and switch
|
sudo nix profile diff-closures --profile /nix/var/nix/profiles/system
|
||||||
sudo nixos-rebuild switch --flake .#{{input}} --show-trace -L -v
|
|
||||||
|
|
||||||
|
|
||||||
update:
|
@delete generation:
|
||||||
|
sudo nix-env -p /nix/var/nix/profiles/system --delete-generations {{generation}}
|
||||||
|
|
||||||
|
|
||||||
|
@update:
|
||||||
# Update flake.lock
|
# Update flake.lock
|
||||||
nix flake update --extra-experimental-features flakes --extra-experimental-features nix-command --show-trace
|
nix flake update --extra-experimental-features flakes --extra-experimental-features nix-command --show-trace
|
||||||
|
|
||||||
|
|
||||||
upgrade:
|
@upgrade:
|
||||||
# Let system totally upgrade
|
# Let system totally upgrade
|
||||||
## Set hostname and username in flake.nix
|
## Set hostname and username in flake.nix
|
||||||
sed -i "/^\s*hostname[[:space:]]*=[[:space:]]*\"/s/\"\(.*\)\"/\"{{hostname}}\"/" ./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
|
sudo nixos-rebuild switch --flake .#{{hostname}} --show-trace
|
||||||
|
|
||||||
|
|
||||||
upgrade-debug:
|
@upgrade-debug:
|
||||||
# Let system totally upgrade (deBug Mode)
|
# Let system totally upgrade (deBug Mode)
|
||||||
## Set hostname and username in flake.nix
|
## Set hostname and username in flake.nix
|
||||||
sed -i "/^\s*hostname[[:space:]]*=[[:space:]]*\"/s/\"\(.*\)\"/\"{{hostname}}\"/" ./flake.nix
|
sed -i "/^\s*hostname[[:space:]]*=[[:space:]]*\"/s/\"\(.*\)\"/\"{{hostname}}\"/" ./flake.nix
|
||||||
|
|||||||
2
dotfiles/.config/hypr/hyprland/bind.conf
vendored
2
dotfiles/.config/hypr/hyprland/bind.conf
vendored
@@ -22,7 +22,7 @@ bind = Ctrl_ALT, B, exec, pkill waybar;sleep 1;waybar # Status Bar
|
|||||||
|
|
||||||
## Shortcuts
|
## Shortcuts
|
||||||
### Browser
|
### Browser
|
||||||
bind = SUPER, B, exec, floorp
|
bind = SUPER, B, exec, firefox
|
||||||
### Lock-window
|
### Lock-window
|
||||||
bind = SUPER, L, exec, hyprlock
|
bind = SUPER, L, exec, hyprlock
|
||||||
### File Explorer
|
### File Explorer
|
||||||
|
|||||||
11
dotfiles/.config/niri/config.kdl
vendored
11
dotfiles/.config/niri/config.kdl
vendored
@@ -1,6 +1,6 @@
|
|||||||
input {
|
input {
|
||||||
disable-power-key-handling
|
disable-power-key-handling
|
||||||
focus-follows-mouse
|
focus-follows-mouse max-scroll-amount="0%"
|
||||||
warp-mouse-to-focus
|
warp-mouse-to-focus
|
||||||
|
|
||||||
mouse {
|
mouse {
|
||||||
@@ -24,7 +24,7 @@ binds {
|
|||||||
// Shortcuts
|
// Shortcuts
|
||||||
Super+Shift+Slash { show-hotkey-overlay; }
|
Super+Shift+Slash { show-hotkey-overlay; }
|
||||||
Super+E { spawn "nemo"; }
|
Super+E { spawn "nemo"; }
|
||||||
Super+B { spawn "floorp";}
|
Super+B { spawn "firefox";}
|
||||||
Super+L { spawn "hyprlock";}
|
Super+L { spawn "hyprlock";}
|
||||||
Super+M { spawn-sh "$HOME/.config/niri/switch_monitors.sh"; }
|
Super+M { spawn-sh "$HOME/.config/niri/switch_monitors.sh"; }
|
||||||
Ctrl+Super+Q { spawn "wlogout"; }
|
Ctrl+Super+Q { spawn "wlogout"; }
|
||||||
@@ -181,9 +181,8 @@ binds {
|
|||||||
|
|
||||||
environment {
|
environment {
|
||||||
CURRENT_COMPOSITOR "niri"
|
CURRENT_COMPOSITOR "niri"
|
||||||
DISPLAY ":0"
|
XDG_CURRENT_DESKTOP "Niri"
|
||||||
XDG_CURRENT_DESKTOP "niri"
|
XDG_SESSION_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 "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 "swayosd-server"
|
||||||
spawn-at-startup "swww-daemon"
|
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 "swww" "restore"
|
||||||
spawn-at-startup "waybar"
|
spawn-at-startup "waybar"
|
||||||
spawn-at-startup "lxqt-policykit-agent"
|
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 布局(防止残影)
|
# 刷新 Niri 布局(防止残影)
|
||||||
sleep 0.5
|
sleep 0.5
|
||||||
niri msg reload-layout >/dev/null 2>&1 || true
|
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",
|
"custom/startmenu",
|
||||||
"backlight",
|
"backlight",
|
||||||
"wireplumber",
|
"wireplumber",
|
||||||
"battery",
|
"custom/wl-gammarelay-brightness",
|
||||||
"hyprland/workspaces",
|
"hyprland/workspaces",
|
||||||
"niri/workspaces",
|
"niri/workspaces",
|
||||||
"sway/workspaces"
|
"sway/workspaces"
|
||||||
@@ -21,9 +21,9 @@
|
|||||||
"modules-right": [
|
"modules-right": [
|
||||||
"custom/screenshot",
|
"custom/screenshot",
|
||||||
"tray",
|
"tray",
|
||||||
"custom/wl-gammarelay-brightness",
|
|
||||||
// "custom/wl-gammarelay-temperature",
|
// "custom/wl-gammarelay-temperature",
|
||||||
"clock",
|
"clock",
|
||||||
|
"battery",
|
||||||
"custom/swaync",
|
"custom/swaync",
|
||||||
],
|
],
|
||||||
|
|
||||||
@@ -182,4 +182,3 @@
|
|||||||
"escape": true,
|
"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-right: 8px;
|
||||||
padding-left: 10px;
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
467
flake.lock
generated
467
flake.lock
generated
@@ -21,28 +21,28 @@
|
|||||||
"base16-fish": {
|
"base16-fish": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1754405784,
|
"lastModified": 1765809053,
|
||||||
"narHash": "sha256-l9xHIy+85FN+bEo6yquq2IjD1rSg9fjfjpyGP1W8YXo=",
|
"narHash": "sha256-XCUQLoLfBJ8saWms2HCIj4NEN+xNsWBlU1NrEPcQG4s=",
|
||||||
"owner": "tomyun",
|
"owner": "tomyun",
|
||||||
"repo": "base16-fish",
|
"repo": "base16-fish",
|
||||||
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
|
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "tomyun",
|
"owner": "tomyun",
|
||||||
"repo": "base16-fish",
|
"repo": "base16-fish",
|
||||||
"rev": "23ae20a0093dca0d7b39d76ba2401af0ccf9c561",
|
"rev": "86cbea4dca62e08fb7fd83a70e96472f92574782",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"base16-helix": {
|
"base16-helix": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1752979451,
|
"lastModified": 1760703920,
|
||||||
"narHash": "sha256-0CQM+FkYy0fOO/sMGhOoNL80ftsAzYCg9VhIrodqusM=",
|
"narHash": "sha256-m82fGUYns4uHd+ZTdoLX2vlHikzwzdu2s2rYM2bNwzw=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "base16-helix",
|
"repo": "base16-helix",
|
||||||
"rev": "27cf1e66e50abc622fb76a3019012dc07c678fac",
|
"rev": "d646af9b7d14bff08824538164af99d0c521b185",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -68,48 +68,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chaotic": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-schemas": "flake-schemas",
|
|
||||||
"home-manager": "home-manager",
|
|
||||||
"jovian": "jovian",
|
|
||||||
"nixpkgs": "nixpkgs",
|
|
||||||
"rust-overlay": "rust-overlay"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1762736304,
|
|
||||||
"narHash": "sha256-IZh6dOZf22la7rF23WwQ4y7ncrciqKqT0CUJ6abEAIk=",
|
|
||||||
"owner": "chaotic-cx",
|
|
||||||
"repo": "nyx",
|
|
||||||
"rev": "45073419e0a46bf106f025858e93b633e255e402",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "chaotic-cx",
|
|
||||||
"ref": "nyxpkgs-unstable",
|
|
||||||
"repo": "nyx",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"daeuniverse": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-parts": "flake-parts",
|
|
||||||
"nixpkgs": "nixpkgs_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1762203410,
|
|
||||||
"narHash": "sha256-+WqPI5Il43oI2/TMUrZUzzReLW/dnWM6GNqrekDXgos=",
|
|
||||||
"owner": "daeuniverse",
|
|
||||||
"repo": "flake.nix",
|
|
||||||
"rev": "effa0f113add0f982a657f5bce92bac503b542b6",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "daeuniverse",
|
|
||||||
"repo": "flake.nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"disko": {
|
"disko": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -117,11 +75,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762276996,
|
"lastModified": 1765794845,
|
||||||
"narHash": "sha256-TtcPgPmp2f0FAnc+DMEw4ardEgv1SGNR3/WFGH0N19M=",
|
"narHash": "sha256-YD5QWlGnusNbZCqR3pxG8tRxx9yUXayLZfAJRWspq2s=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "disko",
|
"repo": "disko",
|
||||||
"rev": "af087d076d3860760b3323f6b583f4d828c1ac17",
|
"rev": "7194cfe5b7a3660726b0fe7296070eaef601cae9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -133,11 +91,11 @@
|
|||||||
"firefox-gnome-theme": {
|
"firefox-gnome-theme": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758112371,
|
"lastModified": 1764724327,
|
||||||
"narHash": "sha256-lizRM2pj6PHrR25yimjyFn04OS4wcdbc38DCdBVa2rk=",
|
"narHash": "sha256-OkFLrD3pFR952TrjQi1+Vdj604KLcMnkpa7lkW7XskI=",
|
||||||
"owner": "rafaelmardojai",
|
"owner": "rafaelmardojai",
|
||||||
"repo": "firefox-gnome-theme",
|
"repo": "firefox-gnome-theme",
|
||||||
"rev": "0909cfe4a2af8d358ad13b20246a350e14c2473d",
|
"rev": "66b7c635763d8e6eb86bd766de5a1e1fbfcc1047",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -147,45 +105,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-parts": {
|
"flake-parts": {
|
||||||
"inputs": {
|
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1738453229,
|
|
||||||
"narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts_2": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs-lib": [
|
|
||||||
"nixvim",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1762440070,
|
|
||||||
"narHash": "sha256-xxdepIcb39UJ94+YydGP221rjnpkDZUlykKuF54PsqI=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"rev": "26d05891e14c88eb4a5d5bee659c0db5afb609d8",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts_3": {
|
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
"stylix",
|
"stylix",
|
||||||
@@ -193,11 +112,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756770412,
|
"lastModified": 1763759067,
|
||||||
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
|
"narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "4524271976b625a4a605beefd893f270620fd751",
|
"rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -206,38 +125,6 @@
|
|||||||
"type": "github"
|
"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": {
|
"fromYaml": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -257,33 +144,34 @@
|
|||||||
"gnome-shell": {
|
"gnome-shell": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748186689,
|
"host": "gitlab.gnome.org",
|
||||||
"narHash": "sha256-UaD7Y9f8iuLBMGHXeJlRu6U1Ggw5B9JnkFs3enZlap0=",
|
"lastModified": 1764524476,
|
||||||
|
"narHash": "sha256-bTmNn3Q4tMQ0J/P0O5BfTQwqEnCiQIzOGef9/aqAZvk=",
|
||||||
"owner": "GNOME",
|
"owner": "GNOME",
|
||||||
"repo": "gnome-shell",
|
"repo": "gnome-shell",
|
||||||
"rev": "8c88f917db0f1f0d80fa55206c863d3746fa18d0",
|
"rev": "c0e1ad9f0f703fd0519033b8f46c3267aab51a22",
|
||||||
"type": "github"
|
"type": "gitlab"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
"host": "gitlab.gnome.org",
|
||||||
"owner": "GNOME",
|
"owner": "GNOME",
|
||||||
"ref": "48.2",
|
"ref": "gnome-49",
|
||||||
"repo": "gnome-shell",
|
"repo": "gnome-shell",
|
||||||
"type": "github"
|
"type": "gitlab"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"chaotic",
|
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762661401,
|
"lastModified": 1765980955,
|
||||||
"narHash": "sha256-SVmijc8t23UMwru5f/9X1Ak5bSwvYkm0OQ5SxR7hOB0=",
|
"narHash": "sha256-rB45jv4uwC90vM9UZ70plfvY/2Kdygs+zlQ07dGQFk4=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "c053d701d64f0727f62e0269c7940da5805bc9bc",
|
"rev": "89c9508bbe9b40d36b3dc206c2483ef176f15173",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -292,150 +180,13 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"home-manager_2": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1762787259,
|
|
||||||
"narHash": "sha256-t2U/GLLXHa2+kJkwnFNRVc2fEJ/lUfyZXBE5iKzJdcs=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"rev": "37a3d97f2873e0f68711117c34d04b7c7ead8f4e",
|
|
||||||
"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": 1762452596,
|
|
||||||
"narHash": "sha256-Iaga+mkwWnWa6FxsAYknpHzeP344VCKGkdudX420LgA=",
|
|
||||||
"owner": "Jovian-Experiments",
|
|
||||||
"repo": "Jovian-NixOS",
|
|
||||||
"rev": "99919fd35e70c1b18ce948d5329928d751031312",
|
|
||||||
"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": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762596750,
|
"lastModified": 1765779637,
|
||||||
"narHash": "sha256-rXXuz51Bq7DHBlfIjN7jO8Bu3du5TV+3DSADBX7/9YQ=",
|
"narHash": "sha256-KJ2wa/BLSrTqDjbfyNx70ov/HdgNBCBBSQP3BIzKnv4=",
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "b6a8526db03f735b89dd5ff348f53f752e7ddc8e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-lib": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1738452942,
|
|
||||||
"narHash": "sha256-vJzFZGaCpnmo7I6i416HaBLpC+hvcURh/BQwROcGIp8=",
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1739866667,
|
|
||||||
"narHash": "sha256-EO1ygNKZlsAC9avfcwHkKGMsmipUk1Uc0TbrEZpkn64=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "73cf49b8ad837ade2de76f87eb53fc85ed5d4680",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_3": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1762596750,
|
|
||||||
"narHash": "sha256-rXXuz51Bq7DHBlfIjN7jO8Bu3du5TV+3DSADBX7/9YQ=",
|
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "b6a8526db03f735b89dd5ff348f53f752e7ddc8e",
|
"rev": "1306659b587dc277866c7b69eb97e5f07864d8c4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -445,45 +196,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1758690382,
|
|
||||||
"narHash": "sha256-NY3kSorgqE5LMm1LqNwGne3ZLMF2/ILgLpFr1fS4X3o=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "e643668fd71b949c53f8626614b21ff71a07379d",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixvim": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-parts": "flake-parts_2",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"nuschtosSearch": "nuschtosSearch",
|
|
||||||
"systems": "systems_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1762789067,
|
|
||||||
"narHash": "sha256-z0VQRaEARqF5eARuAFhDixV+g5B+5IJ1iDKSUM+5EIY=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "nixvim",
|
|
||||||
"rev": "2dc09e09cc65026f0899cc50291e244ee24835d3",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "nixvim",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nur": {
|
"nur": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": [
|
"flake-parts": [
|
||||||
@@ -496,11 +208,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758998580,
|
"lastModified": 1764773531,
|
||||||
"narHash": "sha256-VLx0z396gDCGSiowLMFz5XRO/XuNV+4EnDYjdJhHvUk=",
|
"narHash": "sha256-mCBl7MD1WZ7yCG6bR9MmpPO2VydpNkWFgnslJRIT1YU=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "ba8d9c98f5f4630bcb0e815ab456afd90c930728",
|
"rev": "1d9616689e98beded059ad0384b9951e967a17fa",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -509,61 +221,14 @@
|
|||||||
"type": "github"
|
"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": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"chaotic": "chaotic",
|
|
||||||
"daeuniverse": "daeuniverse",
|
|
||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixvim": "nixvim",
|
|
||||||
"stylix": "stylix"
|
"stylix": "stylix"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rust-overlay": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"chaotic",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1762655942,
|
|
||||||
"narHash": "sha256-hOM12KcQNQALrhB9w6KJmV5hPpm3GA763HRe9o7JUiI=",
|
|
||||||
"owner": "oxalica",
|
|
||||||
"repo": "rust-overlay",
|
|
||||||
"rev": "6ac961b02d4235572692241e333d0470637f5492",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "oxalica",
|
|
||||||
"repo": "rust-overlay",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"stylix": {
|
"stylix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"base16": "base16",
|
"base16": "base16",
|
||||||
@@ -571,11 +236,13 @@
|
|||||||
"base16-helix": "base16-helix",
|
"base16-helix": "base16-helix",
|
||||||
"base16-vim": "base16-vim",
|
"base16-vim": "base16-vim",
|
||||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||||
"flake-parts": "flake-parts_3",
|
"flake-parts": "flake-parts",
|
||||||
"gnome-shell": "gnome-shell",
|
"gnome-shell": "gnome-shell",
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
"systems": "systems_3",
|
"systems": "systems",
|
||||||
"tinted-foot": "tinted-foot",
|
"tinted-foot": "tinted-foot",
|
||||||
"tinted-kitty": "tinted-kitty",
|
"tinted-kitty": "tinted-kitty",
|
||||||
"tinted-schemes": "tinted-schemes",
|
"tinted-schemes": "tinted-schemes",
|
||||||
@@ -583,11 +250,11 @@
|
|||||||
"tinted-zed": "tinted-zed"
|
"tinted-zed": "tinted-zed"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762264356,
|
"lastModified": 1765897595,
|
||||||
"narHash": "sha256-QVfC53Ri+8n3e7Ujx9kq6all3+TLBRRPRnc6No5qY5w=",
|
"narHash": "sha256-NgTRxiEC5y96zrhdBygnY+mSzk5FWMML39PcRGVJmxg=",
|
||||||
"owner": "danth",
|
"owner": "danth",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"rev": "647bb8dd96a206a1b79c4fd714affc88b409e10b",
|
"rev": "e6829552d4bb659ebab00f08c61d8c62754763f3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -611,36 +278,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"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": {
|
"tinted-foot": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@@ -677,11 +314,11 @@
|
|||||||
"tinted-schemes": {
|
"tinted-schemes": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757716333,
|
"lastModified": 1763914658,
|
||||||
"narHash": "sha256-d4km8W7w2zCUEmPAPUoLk1NlYrGODuVa3P7St+UrqkM=",
|
"narHash": "sha256-Hju0WtMf3iForxtOwXqGp3Ynipo0EYx1AqMKLPp9BJw=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "schemes",
|
"repo": "schemes",
|
||||||
"rev": "317a5e10c35825a6c905d912e480dfe8e71c7559",
|
"rev": "0f6be815d258e435c9b137befe5ef4ff24bea32c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -693,11 +330,11 @@
|
|||||||
"tinted-tmux": {
|
"tinted-tmux": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757811970,
|
"lastModified": 1764465359,
|
||||||
"narHash": "sha256-n5ZJgmzGZXOD9pZdAl1OnBu3PIqD+X3vEBUGbTi4JiI=",
|
"narHash": "sha256-lbSVPqLEk2SqMrnpvWuKYGCaAlfWFMA6MVmcOFJjdjE=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "tinted-tmux",
|
"repo": "tinted-tmux",
|
||||||
"rev": "d217ba31c846006e9e0ae70775b0ee0f00aa6b1e",
|
"rev": "edf89a780e239263cc691a987721f786ddc4f6aa",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -709,11 +346,11 @@
|
|||||||
"tinted-zed": {
|
"tinted-zed": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757811247,
|
"lastModified": 1764464512,
|
||||||
"narHash": "sha256-4EFOUyLj85NRL3OacHoLGEo0wjiRJzfsXtR4CZWAn6w=",
|
"narHash": "sha256-rCD/pAhkMdCx6blsFwxIyvBJbPZZ1oL2sVFrH07lmqg=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "base16-zed",
|
"repo": "base16-zed",
|
||||||
"rev": "824fe0aacf82b3c26690d14e8d2cedd56e18404e",
|
"rev": "907dbba5fb8cf69ebfd90b00813418a412d0a29a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -2,15 +2,16 @@
|
|||||||
description = "🥶";
|
description = "🥶";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
|
# chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
|
||||||
daeuniverse.url = "github:daeuniverse/flake.nix";
|
# daeuniverse.url = "github:daeuniverse/flake.nix";
|
||||||
disko.inputs.nixpkgs.follows = "nixpkgs";
|
disko.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
disko.url = "github:nix-community/disko";
|
disko.url = "github:nix-community/disko";
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
home-manager.url = "github:nix-community/home-manager";
|
home-manager.url = "github:nix-community/home-manager";
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
nixvim.inputs.nixpkgs.follows = "nixpkgs";
|
# nixvim.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
nixvim.url = "github:nix-community/nixvim";
|
# nixvim.url = "github:nix-community/nixvim";
|
||||||
|
stylix.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
stylix.url = "github:danth/stylix";
|
stylix.url = "github:danth/stylix";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
12
home/cli/git.nix
Normal file
12
home/cli/git.nix
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{ pkgs, ... }: {
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.gitFull;
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.gh.enable = true;
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
git-filter-repo
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
floorp-bin
|
firefox
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{pkgs, ...}: {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
gui-for-singbox
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,205 +1,233 @@
|
|||||||
{
|
{ config
|
||||||
config,
|
, lib
|
||||||
lib,
|
, pkgs
|
||||||
pkgs,
|
, ...
|
||||||
...
|
}: {
|
||||||
}: let
|
|
||||||
neo-tree-nvim-main = pkgs.vimUtils.buildVimPlugin {
|
|
||||||
pname = "neo-tree-nvim-main";
|
|
||||||
version = "3.35.2+6";
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "nvim-neo-tree";
|
|
||||||
repo = "neo-tree.nvim";
|
|
||||||
rev = "8dd9f08ff086d09d112f1873f88dc0f74b598cdb";
|
|
||||||
sha256 = "sha256-edthaqznGTJ+VFVORK7gfHI9J14PLAghG9prsWlzXtc=";
|
|
||||||
};
|
|
||||||
doCheck = false;
|
|
||||||
meta.homepage = "https://github.com/nvim-neo-tree/neo-tree.nvim/";
|
|
||||||
meta.hydraPlatforms = [];
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
programs.neovim = {
|
programs.neovim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
# LazyVim
|
#Go
|
||||||
lua-language-server
|
gopls
|
||||||
|
gofumpt
|
||||||
|
golines
|
||||||
|
|
||||||
|
#Lua
|
||||||
stylua
|
stylua
|
||||||
|
lua-language-server
|
||||||
|
|
||||||
|
#Nix
|
||||||
|
nixd
|
||||||
|
nixpkgs-fmt
|
||||||
|
|
||||||
|
#Java
|
||||||
|
google-java-format
|
||||||
|
jdt-language-server
|
||||||
|
|
||||||
|
#Rust
|
||||||
|
clippy
|
||||||
|
rustfmt
|
||||||
|
rust-analyzer
|
||||||
|
|
||||||
|
#Shell
|
||||||
|
shfmt
|
||||||
|
bash-language-server
|
||||||
|
|
||||||
|
#C/C++
|
||||||
|
clang-tools
|
||||||
|
|
||||||
|
#Kotlin
|
||||||
|
ktlint
|
||||||
|
kotlin-language-server
|
||||||
|
|
||||||
|
#Python
|
||||||
|
ruff
|
||||||
|
black
|
||||||
|
python312Packages.python-lsp-server
|
||||||
|
|
||||||
|
#JS/TS/Web
|
||||||
|
biome
|
||||||
|
prettierd
|
||||||
|
nodePackages.prettier
|
||||||
|
|
||||||
|
jq #JSON
|
||||||
|
taplo #TOML
|
||||||
|
yamlfmt #YAML
|
||||||
];
|
];
|
||||||
|
|
||||||
plugins = with pkgs.vimPlugins; [
|
plugins = with pkgs.vimPlugins; [
|
||||||
lazy-nvim
|
lazy-nvim
|
||||||
];
|
];
|
||||||
|
|
||||||
extraLuaConfig = let
|
extraLuaConfig =
|
||||||
plugins = with pkgs.vimPlugins; [
|
let
|
||||||
LazyVim
|
plugins = with pkgs.vimPlugins; [
|
||||||
bufferline-nvim
|
LazyVim
|
||||||
cmp_luasnip
|
bufferline-nvim
|
||||||
conform-nvim
|
cmp_luasnip
|
||||||
dashboard-nvim
|
conform-nvim
|
||||||
flash-nvim
|
dashboard-nvim
|
||||||
friendly-snippets
|
flash-nvim
|
||||||
gitsigns-nvim
|
friendly-snippets
|
||||||
lualine-nvim
|
gitsigns-nvim
|
||||||
{
|
lualine-nvim
|
||||||
name = "neo-tree.nvim";
|
neo-tree-nvim
|
||||||
path = neo-tree-nvim-main;
|
neoconf-nvim
|
||||||
}
|
neodev-nvim
|
||||||
neoconf-nvim
|
noice-nvim
|
||||||
neodev-nvim
|
nui-nvim
|
||||||
noice-nvim
|
nvim-lint
|
||||||
nui-nvim
|
nvim-lspconfig
|
||||||
nvim-lint
|
nvim-notify
|
||||||
nvim-lspconfig
|
nvim-spectre
|
||||||
nvim-notify
|
nvim-treesitter
|
||||||
nvim-spectre
|
nvim-treesitter-context
|
||||||
nvim-treesitter
|
nvim-ts-autotag
|
||||||
nvim-treesitter-context
|
nvim-ts-context-commentstring
|
||||||
nvim-treesitter-textobjects
|
nvim-web-devicons
|
||||||
nvim-ts-autotag
|
persistence-nvim
|
||||||
nvim-ts-context-commentstring
|
plenary-nvim
|
||||||
nvim-web-devicons
|
todo-comments-nvim
|
||||||
persistence-nvim
|
tokyonight-nvim
|
||||||
plenary-nvim
|
trouble-nvim
|
||||||
todo-comments-nvim
|
vim-illuminate
|
||||||
tokyonight-nvim
|
vim-startuptime
|
||||||
trouble-nvim
|
which-key-nvim
|
||||||
vim-illuminate
|
fzf-lua
|
||||||
vim-startuptime
|
snacks-nvim
|
||||||
which-key-nvim
|
{
|
||||||
fzf-lua
|
name = "lazydev.nvim";
|
||||||
snacks-nvim
|
path = lazydev-nvim;
|
||||||
{
|
}
|
||||||
name = "lazydev.nvim";
|
{
|
||||||
path = lazydev-nvim;
|
name = "blink.cmp";
|
||||||
}
|
path = blink-cmp;
|
||||||
{
|
}
|
||||||
name = "blink.cmp";
|
{
|
||||||
path = blink-cmp;
|
name = "LuaSnip";
|
||||||
}
|
path = luasnip;
|
||||||
{
|
}
|
||||||
name = "LuaSnip";
|
{
|
||||||
path = luasnip;
|
name = "mini.ai";
|
||||||
}
|
path = mini-nvim;
|
||||||
{
|
}
|
||||||
name = "mini.ai";
|
{
|
||||||
path = mini-nvim;
|
name = "mini.bufremove";
|
||||||
}
|
path = mini-nvim;
|
||||||
{
|
}
|
||||||
name = "mini.bufremove";
|
{
|
||||||
path = mini-nvim;
|
name = "mini.comment";
|
||||||
}
|
path = mini-nvim;
|
||||||
{
|
}
|
||||||
name = "mini.comment";
|
{
|
||||||
path = mini-nvim;
|
name = "mini.indentscope";
|
||||||
}
|
path = mini-nvim;
|
||||||
{
|
}
|
||||||
name = "mini.indentscope";
|
{
|
||||||
path = mini-nvim;
|
name = "mini.pairs";
|
||||||
}
|
path = mini-nvim;
|
||||||
{
|
}
|
||||||
name = "mini.pairs";
|
{
|
||||||
path = mini-nvim;
|
name = "mini.surround";
|
||||||
}
|
path = mini-nvim;
|
||||||
{
|
}
|
||||||
name = "mini.surround";
|
{
|
||||||
path = mini-nvim;
|
name = "mini.icons";
|
||||||
}
|
path = mini-icons;
|
||||||
{
|
}
|
||||||
name = "mini.icons";
|
{
|
||||||
path = mini-icons;
|
name = "grug-far.nvim";
|
||||||
}
|
path = grug-far-nvim;
|
||||||
{
|
}
|
||||||
name = "grug-far.nvim";
|
];
|
||||||
path = grug-far-nvim;
|
mkEntryFromDrv = drv:
|
||||||
}
|
if lib.isDerivation drv
|
||||||
];
|
then {
|
||||||
mkEntryFromDrv = drv:
|
name = "${lib.getName drv}";
|
||||||
if lib.isDerivation drv
|
path = drv;
|
||||||
then {
|
}
|
||||||
name = "${lib.getName drv}";
|
else drv;
|
||||||
path = drv;
|
lazyPath = pkgs.linkFarm "lazy-plugins" (builtins.map mkEntryFromDrv plugins);
|
||||||
}
|
in
|
||||||
else drv;
|
''
|
||||||
lazyPath = pkgs.linkFarm "lazy-plugins" (builtins.map mkEntryFromDrv plugins);
|
require("lazy").setup({
|
||||||
in ''
|
defaults = {
|
||||||
require("lazy").setup({
|
lazy = true,
|
||||||
defaults = {
|
|
||||||
lazy = true,
|
|
||||||
},
|
|
||||||
dev = {
|
|
||||||
-- reuse files from pkgs.vimPlugins.*
|
|
||||||
path = "${lazyPath}",
|
|
||||||
patterns = { "." },
|
|
||||||
-- fallback to download
|
|
||||||
fallback = true,
|
|
||||||
},
|
|
||||||
rocks = {
|
|
||||||
enabled = false,
|
|
||||||
hererocks = false,
|
|
||||||
},
|
|
||||||
spec = {
|
|
||||||
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
|
||||||
-- The following configs are needed for fixing lazyvim on nix
|
|
||||||
-- disable mason.nvim, use programs.neovim.extraPackages
|
|
||||||
{ "mason-org/mason-lspconfig.nvim", enabled = false },
|
|
||||||
{ "mason-org/mason.nvim", enabled = false },
|
|
||||||
-- import/override with your plugins
|
|
||||||
{ import = "lazyvim.plugins.extras.lang.go" },
|
|
||||||
{ import = "lazyvim.plugins.extras.lang.clangd" },
|
|
||||||
{ import = "lazyvim.plugins.extras.lang.rust" },
|
|
||||||
{ import = "lazyvim.plugins.extras.lang.typescript" },
|
|
||||||
{ import = "lazyvim.plugins.extras.lang.python" },
|
|
||||||
{ import = "lazyvim.plugins.extras.lang.tailwind" },
|
|
||||||
{ import = "lazyvim.plugins.extras.lang.java" },
|
|
||||||
{ import = "lazyvim.plugins.extras.lang.json" },
|
|
||||||
{ import = "lazyvim.plugins.extras.lang.yaml" },
|
|
||||||
{ import = "lazyvim.plugins.extras.lang.toml" },
|
|
||||||
{ import = "lazyvim.plugins.extras.lang.docker" },
|
|
||||||
{ import = "plugins" },
|
|
||||||
-- treesitter handled by xdg.configFile."nvim/parser", put this line at the end of spec to clear ensure_installed
|
|
||||||
{ "nvim-treesitter/nvim-treesitter",
|
|
||||||
opts = function(_, opts)
|
|
||||||
opts.ensure_installed = {}
|
|
||||||
end,
|
|
||||||
},
|
},
|
||||||
},
|
dev = {
|
||||||
})
|
-- reuse files from pkgs.vimPlugins.*
|
||||||
'';
|
path = "${lazyPath}",
|
||||||
|
patterns = { "." },
|
||||||
|
-- fallback to download
|
||||||
|
fallback = true,
|
||||||
|
},
|
||||||
|
rocks = {
|
||||||
|
enabled = false,
|
||||||
|
hererocks = false,
|
||||||
|
},
|
||||||
|
spec = {
|
||||||
|
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
||||||
|
-- The following configs are needed for fixing lazyvim on nix
|
||||||
|
-- disable mason.nvim, use programs.neovim.extraPackages
|
||||||
|
{ "mason-org/mason-lspconfig.nvim", enabled = false },
|
||||||
|
{ "mason-org/mason.nvim", enabled = false },
|
||||||
|
-- import/override with your plugins
|
||||||
|
{ import = "lazyvim.plugins.extras.lang.go" },
|
||||||
|
{ import = "lazyvim.plugins.extras.lang.clangd" },
|
||||||
|
{ import = "lazyvim.plugins.extras.lang.rust" },
|
||||||
|
{ import = "lazyvim.plugins.extras.lang.typescript" },
|
||||||
|
{ import = "lazyvim.plugins.extras.lang.python" },
|
||||||
|
{ import = "lazyvim.plugins.extras.lang.tailwind" },
|
||||||
|
{ import = "lazyvim.plugins.extras.lang.java" },
|
||||||
|
{ import = "lazyvim.plugins.extras.lang.json" },
|
||||||
|
{ import = "lazyvim.plugins.extras.lang.yaml" },
|
||||||
|
{ import = "lazyvim.plugins.extras.lang.toml" },
|
||||||
|
{ import = "lazyvim.plugins.extras.lang.docker" },
|
||||||
|
{ import = "lazyvim.plugins.extras.lang.kotlin" },
|
||||||
|
{ import = "lazyvim.plugins.extras.lang.dart" },
|
||||||
|
{ import = "plugins" },
|
||||||
|
-- treesitter handled by xdg.configFile."nvim/parser", put this line at the end of spec to clear ensure_installed
|
||||||
|
{ "nvim-treesitter/nvim-treesitter",
|
||||||
|
opts = function(_, opts)
|
||||||
|
opts.ensure_installed = {}
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
# https://github.com/nvim-treesitter/nvim-treesitter#i-get-query-error-invalid-node-type-at-position
|
# https://github.com/nvim-treesitter/nvim-treesitter#i-get-query-error-invalid-node-type-at-position
|
||||||
xdg.configFile."nvim/parser".source = let
|
xdg.configFile."nvim/parser".source =
|
||||||
parsers = pkgs.symlinkJoin {
|
let
|
||||||
name = "treesitter-parsers";
|
parsers = pkgs.symlinkJoin {
|
||||||
paths =
|
name = "treesitter-parsers";
|
||||||
(pkgs.vimPlugins.nvim-treesitter.withPlugins (plugins:
|
paths =
|
||||||
with plugins; [
|
(pkgs.vimPlugins.nvim-treesitter.withPlugins (plugins:
|
||||||
bash
|
with plugins; [
|
||||||
c
|
bash
|
||||||
lua
|
c
|
||||||
python
|
go
|
||||||
go
|
lua
|
||||||
rust
|
rust
|
||||||
java
|
java
|
||||||
javascript
|
dart
|
||||||
typescript
|
kotlin
|
||||||
tsx
|
python
|
||||||
vue
|
javascript
|
||||||
html
|
typescript
|
||||||
css
|
tsx
|
||||||
json
|
vue
|
||||||
yaml
|
html
|
||||||
toml
|
css
|
||||||
dockerfile
|
json
|
||||||
]))
|
yaml
|
||||||
.dependencies;
|
toml
|
||||||
};
|
dockerfile
|
||||||
in "${parsers}/parser";
|
])).dependencies;
|
||||||
|
};
|
||||||
|
in
|
||||||
|
"${parsers}/parser";
|
||||||
|
|
||||||
# Normal LazyVim config here, see https://github.com/LazyVim/starter/tree/main/lua
|
# Normal LazyVim config here, see https://github.com/LazyVim/starter/tree/main/lua
|
||||||
xdg.configFile."nvim/lua".source = ./lua;
|
xdg.configFile."nvim/lua".source = ./lua;
|
||||||
|
|
||||||
# Set default editor
|
|
||||||
home.sessionVariables.EDITOR = "nvim";
|
|
||||||
}
|
}
|
||||||
@@ -5,27 +5,31 @@
|
|||||||
local map = vim.keymap.set
|
local map = vim.keymap.set
|
||||||
local opts = { noremap = true, silent = true }
|
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-Tab>", "<cmd>bnext<CR>", { desc = "Next buffer (like VSCode)" })
|
||||||
map("n", "<C-S-Tab>", "<cmd>bprevious<CR>", { desc = "Previous buffer (like VSCode)" })
|
map("n", "<C-S-Tab>", "<cmd>bprevious<CR>", { desc = "Previous buffer (like VSCode)" })
|
||||||
|
|
||||||
-- === Close buffer like Ctrl + W in VSCode ===
|
-- === Vscode-like Close buffer navigation ===
|
||||||
vim.keymap.set("n", "<C-w>", "<cmd>BufferLinePickClose<CR>", { desc = "Close buffer (BufferLine)" })
|
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()
|
local next_buf = nil
|
||||||
if vim.bo.buftype == "terminal" then
|
for i, buf in ipairs(buffers) do
|
||||||
vim.cmd("vsplit | terminal")
|
if buf.bufnr == current then
|
||||||
else
|
next_buf = buffers[i + 1] or buffers[i - 1]
|
||||||
vim.cmd("botright split | terminal")
|
break
|
||||||
end
|
end
|
||||||
end, { desc = "Split terminal" })
|
end
|
||||||
|
|
||||||
-- 在终端模式下的快捷键
|
if next_buf then
|
||||||
vim.keymap.set("t", "<C-h>", "<C-\\><C-n><C-w>h", { desc = "Go to left window" })
|
vim.api.nvim_set_current_buf(next_buf.bufnr)
|
||||||
vim.keymap.set("t", "<C-j>", "<C-\\><C-n><C-w>j", { desc = "Go to lower window" })
|
end
|
||||||
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" })
|
|
||||||
|
|
||||||
|
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.keymap.set("n", "<leader>xo", function()
|
||||||
vim.fn.jobstart({ "xdg-open", vim.fn.expand("%:p") }, { detach = true })
|
vim.fn.jobstart({ "xdg-open", vim.fn.expand("%:p") }, { detach = true })
|
||||||
end, { desc = "使用系统默认应用程序打开当前文件" })
|
end, { desc = "使用系统默认应用程序打开当前文件" })
|
||||||
|
|||||||
@@ -1,53 +1,53 @@
|
|||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
||||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
||||||
if vim.v.shell_error ~= 0 then
|
if vim.v.shell_error ~= 0 then
|
||||||
vim.api.nvim_echo({
|
vim.api.nvim_echo({
|
||||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
||||||
{ out, "WarningMsg" },
|
{ out, "WarningMsg" },
|
||||||
{ "\nPress any key to exit..." },
|
{ "\nPress any key to exit..." },
|
||||||
}, true, {})
|
}, true, {})
|
||||||
vim.fn.getchar()
|
vim.fn.getchar()
|
||||||
os.exit(1)
|
os.exit(1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
vim.opt.rtp:prepend(lazypath)
|
vim.opt.rtp:prepend(lazypath)
|
||||||
|
|
||||||
require("lazy").setup({
|
require("lazy").setup({
|
||||||
spec = {
|
spec = {
|
||||||
-- add LazyVim and import its plugins
|
-- add LazyVim and import its plugins
|
||||||
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
||||||
-- import/override with your plugins
|
-- import/override with your plugins
|
||||||
{ import = "plugins" },
|
{ import = "plugins" },
|
||||||
},
|
},
|
||||||
defaults = {
|
defaults = {
|
||||||
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
|
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
|
||||||
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
|
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
|
||||||
lazy = false,
|
lazy = false,
|
||||||
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
|
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
|
||||||
-- have outdated releases, which may break your Neovim install.
|
-- have outdated releases, which may break your Neovim install.
|
||||||
version = false, -- always use the latest git commit
|
version = false, -- always use the latest git commit
|
||||||
-- version = "*", -- try installing the latest stable version for plugins that support semver
|
-- version = "*", -- try installing the latest stable version for plugins that support semver
|
||||||
},
|
},
|
||||||
install = { colorscheme = { "tokyonight", "habamax" } },
|
install = { colorscheme = { "tokyonight", "habamax" } },
|
||||||
checker = {
|
checker = {
|
||||||
enabled = true, -- check for plugin updates periodically
|
enabled = true, -- check for plugin updates periodically
|
||||||
notify = false, -- notify on update
|
notify = false, -- notify on update
|
||||||
}, -- automatically check for plugin updates
|
}, -- automatically check for plugin updates
|
||||||
performance = {
|
performance = {
|
||||||
rtp = {
|
rtp = {
|
||||||
-- disable some rtp plugins
|
-- disable some rtp plugins
|
||||||
disabled_plugins = {
|
disabled_plugins = {
|
||||||
"gzip",
|
"gzip",
|
||||||
-- "matchit",
|
-- "matchit",
|
||||||
-- "matchparen",
|
-- "matchparen",
|
||||||
-- "netrwPlugin",
|
-- "netrwPlugin",
|
||||||
"tarPlugin",
|
"tarPlugin",
|
||||||
"tohtml",
|
"tohtml",
|
||||||
"tutor",
|
"tutor",
|
||||||
"zipPlugin",
|
"zipPlugin",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,3 +1,16 @@
|
|||||||
-- Options are automatically loaded before lazy.nvim startup
|
-- 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
|
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
|
||||||
-- Add any additional options here
|
-- Add any additional options here
|
||||||
|
|
||||||
|
-- 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" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
68
home/nvim/lua/plugins/format.lua
Normal file
68
home/nvim/lua/plugins/format.lua
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
"stevearc/conform.nvim",
|
||||||
|
opts = function(_, opts)
|
||||||
|
opts.format_on_save = nil
|
||||||
|
opts.formatters = opts.formatters or {}
|
||||||
|
opts.formatters_by_ft = opts.formatters_by_ft or {}
|
||||||
|
opts.formatters.nixpkgs_fmt = {
|
||||||
|
command = "nixpkgs-fmt",
|
||||||
|
args = function(ctx)
|
||||||
|
return {}
|
||||||
|
end,
|
||||||
|
stdin = true,
|
||||||
|
exit_codes = { 0 },
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Go
|
||||||
|
opts.formatters_by_ft.go = { "gofumpt" }
|
||||||
|
-- Lua
|
||||||
|
opts.formatters_by_ft.lua = { "stylua" }
|
||||||
|
-- Nix
|
||||||
|
opts.formatters_by_ft.nix = { "nixpkgs_fmt", stop_after_first = true }
|
||||||
|
-- Java
|
||||||
|
opts.formatters_by_ft.java = { "google_java_format" }
|
||||||
|
-- Rust
|
||||||
|
opts.formatters_by_ft.rust = { "rustfmt" }
|
||||||
|
-- Shell
|
||||||
|
opts.formatters_by_ft.sh = { "shfmt" }
|
||||||
|
-- C/C++
|
||||||
|
opts.formatters_by_ft.c = { "clang_format" }
|
||||||
|
opts.formatters_by_ft.cpp = { "clang_format" }
|
||||||
|
-- Kotlin
|
||||||
|
opts.formatters_by_ft.kotlin = { "ktlint" }
|
||||||
|
-- Python
|
||||||
|
opts.formatters_by_ft.python = { "black", "ruff_format" }
|
||||||
|
-- JS/TS/Web
|
||||||
|
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
|
||||||
|
opts.formatters_by_ft.yaml = { "yamlfmt" }
|
||||||
|
-- TOML
|
||||||
|
opts.formatters_by_ft.toml = { "taplo" }
|
||||||
|
-- Dart / Flutter
|
||||||
|
opts.formatters_by_ft.dart = {
|
||||||
|
command = "dart",
|
||||||
|
args = function(ctx)
|
||||||
|
return { "format", ctx.bufname }
|
||||||
|
end,
|
||||||
|
stdin = false,
|
||||||
|
exit_codes = { 0 },
|
||||||
|
}
|
||||||
|
opts.default_format_opts = {
|
||||||
|
timeout_ms = 1500,
|
||||||
|
lsp_format = "fallback",
|
||||||
|
stop_after_first = false,
|
||||||
|
}
|
||||||
|
opts.log_level = vim.log.levels.ERROR
|
||||||
|
opts.notify_on_error = true
|
||||||
|
opts.notify_no_formatters = true
|
||||||
|
return opts
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -1,18 +1,18 @@
|
|||||||
return {
|
return {
|
||||||
"ojroques/nvim-osc52",
|
"ojroques/nvim-osc52",
|
||||||
config = function()
|
config = function()
|
||||||
require("osc52").setup {
|
require("osc52").setup({
|
||||||
max_length = 0, -- 不限制长度
|
max_length = 0, -- 不限制长度
|
||||||
silent = false,
|
silent = false,
|
||||||
trim = false,
|
trim = false,
|
||||||
}
|
})
|
||||||
|
|
||||||
local function copy()
|
local function copy()
|
||||||
if vim.v.event.operator == "y" and vim.v.event.regname == "" then
|
if vim.v.event.operator == "y" and vim.v.event.regname == "" then
|
||||||
require("osc52").copy_register("")
|
require("osc52").copy_register("")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd("TextYankPost", { callback = copy })
|
vim.api.nvim_create_autocmd("TextYankPost", { callback = copy })
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|||||||
30
home/nvim/lua/plugins/treesitter.lua
Normal file
30
home/nvim/lua/plugins/treesitter.lua
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
"LazyVim/LazyVim",
|
||||||
|
opts = {
|
||||||
|
treesitter = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"nvim-treesitter/nvim-treesitter",
|
||||||
|
event = { "BufReadPost", "BufNewFile" },
|
||||||
|
opts = {
|
||||||
|
ensure_installed = {},
|
||||||
|
auto_install = false,
|
||||||
|
highlight = { enable = true },
|
||||||
|
indent = { enable = true },
|
||||||
|
incremental_selection = {
|
||||||
|
enable = true,
|
||||||
|
keymaps = {
|
||||||
|
init_selection = "gnn",
|
||||||
|
node_incremental = "grn",
|
||||||
|
scope_incremental = "grc",
|
||||||
|
node_decremental = "grm",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
config = function(_, opts)
|
||||||
|
require("nvim-treesitter.configs").setup(opts)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
vscodium
|
yazi
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
_: {
|
|
||||||
services.hyprpolkitagent.enable = true;
|
|
||||||
}
|
|
||||||
@@ -8,39 +8,45 @@
|
|||||||
in
|
in
|
||||||
with lib;
|
with lib;
|
||||||
mkIf (WM == "niri") {
|
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; [
|
home.packages = with pkgs; [
|
||||||
niri
|
niri
|
||||||
xwayland-satellite
|
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 = {
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
config = {
|
config = {
|
||||||
common = {
|
common = {
|
||||||
default = [
|
default = ["gtk"];
|
||||||
"gnome"
|
"org.freedesktop.impl.portal.RemoteDesktop" = "gnome";
|
||||||
"gtk"
|
"org.freedesktop.impl.portal.ScreenCast" = "gnome";
|
||||||
];
|
"org.freedesktop.impl.portal.Screenshot" = "gnome";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
extraPortals = [
|
extraPortals = [
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
autoEnable = true;
|
autoEnable = true;
|
||||||
targets = {
|
targets = {
|
||||||
fcitx5.enable = false;
|
fcitx5.enable = false;
|
||||||
floorp.enable = false;
|
firefox.enable = false;
|
||||||
hyprland.enable = false;
|
hyprland.enable = false;
|
||||||
kde.enable = false;
|
kde.enable = false;
|
||||||
mpv.enable = false;
|
mpv.enable = false;
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
"peazip-extract-downloads.desktop"
|
"peazip-extract-downloads.desktop"
|
||||||
"peazip-extract-here.desktop"
|
"peazip-extract-here.desktop"
|
||||||
];
|
];
|
||||||
browser = ["floorp.desktop"];
|
browser = ["firefox.desktop"];
|
||||||
editor = ["neovim"];
|
editor = ["neovim"];
|
||||||
filemanager = ["nemo.desktop"];
|
filemanager = ["nemo.desktop"];
|
||||||
image-viewer = ["org.gnome.Loupe.desktop"];
|
image-viewer = ["org.gnome.Loupe.desktop"];
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
}: {
|
}: {
|
||||||
imports = with inputs; [
|
imports = with inputs; [
|
||||||
./${hostname}
|
./${hostname}
|
||||||
chaotic.nixosModules.default
|
# chaotic.nixosModules.default
|
||||||
disko.nixosModules.disko
|
disko.nixosModules.disko
|
||||||
stylix.nixosModules.stylix
|
stylix.nixosModules.stylix
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
|
|||||||
@@ -1,59 +1,65 @@
|
|||||||
{
|
{
|
||||||
# Specific Use Cases
|
# -------------------- Hardware --------------------
|
||||||
## Hardware related
|
# See: https://github.com/blueman-project/blueman
|
||||||
Bluetooth = true;
|
Bluetooth = true;
|
||||||
### See https://github.com/blueman-project/blueman
|
|
||||||
|
|
||||||
|
# See: https://nixos.wiki/wiki/AMD_GPU
|
||||||
GPU-AMD = true;
|
GPU-AMD = true;
|
||||||
### See https://nixos.wiki/wiki/AMD_GPU
|
|
||||||
|
|
||||||
|
# See: https://nixos.wiki/wiki/Nvidia
|
||||||
GPU-Nvidia = false;
|
GPU-Nvidia = false;
|
||||||
### See https://nixos.wiki/wiki/Nvidia
|
|
||||||
|
|
||||||
|
# See: https://nixos.wiki/wiki/Intel_Graphics
|
||||||
GPU-Intel = false;
|
GPU-Intel = false;
|
||||||
### See https://nixos.wiki/wiki/Intel_Graphics
|
|
||||||
|
|
||||||
HotSpot-Use-Case = false;
|
# See: https://github.com/linrunner/TLP
|
||||||
### See https://nixos.wiki/wiki/Internet_Connection_Sharing
|
Power-control = "TLP"; ## Possible options: PPD ; TLP
|
||||||
|
|
||||||
## Software related
|
# -------------------- System --------------------
|
||||||
QEMU-VM-Use-Case = true;
|
# See https://nixos.wiki/wiki/Bootloader
|
||||||
### See https://github.com/qemu/qemu ; https://github.com/virt-manager/virt-manager
|
# See: https://search.nixos.org/options?show=boot.loader.grub.mirroredBoots
|
||||||
|
BootLoader = "systemd-boot"; ## Possible options: grub ; grub-mirror ; systemd-boot
|
||||||
|
|
||||||
# Options
|
# See: https://search.nixos.org/options?show=boot.kernelPackages
|
||||||
## System related
|
# See: https://www.nyx.chaotic.cx/#using-sched-ext-schedulers
|
||||||
BootLoader = "systemd-boot";
|
KernelPackages = "linuxPackages_zen";
|
||||||
### 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";
|
# See: https://mynixos.com/nixpkgs/option/system.stateVersion
|
||||||
### See https://search.nixos.org/options?show=boot.kernelPackages https://www.nyx.chaotic.cx/#using-sched-ext-schedulers
|
StateVersion = "26.05";
|
||||||
|
|
||||||
KeyboardLayout = "us";
|
|
||||||
### See https://en.wikipedia.org/wiki/Keyboard_layout
|
|
||||||
|
|
||||||
|
# See: https://docs.moodle.org/405/en/Table_of_locales
|
||||||
Locale = "en_US.UTF-8";
|
Locale = "en_US.UTF-8";
|
||||||
### See https://docs.moodle.org/405/en/Table_of_locales
|
|
||||||
|
|
||||||
StateVersion = "25.11";
|
# See: https://en.wikipedia.org/wiki/Keyboard_layout
|
||||||
### See https://mynixos.com/nixpkgs/option/system.stateVersion
|
KeyboardLayout = "us";
|
||||||
|
|
||||||
|
# See: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
||||||
TimeZone = "Asia/Singapore";
|
TimeZone = "Asia/Singapore";
|
||||||
### See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
|
||||||
|
|
||||||
## Wayland related
|
# -------------------- Display --------------------
|
||||||
|
WM = "niri"; ## Options: "Hyprland" | "niri" | "sway"
|
||||||
|
|
||||||
|
# See: https://wiki.hyprland.org/Configuring/XWayland/#hidpi-xwayland
|
||||||
|
# See: https://github.com/swaywm/sway/wiki#hidpi
|
||||||
|
ScaleLevel = "1";
|
||||||
|
|
||||||
|
# See: https://github.com/swaywm/sway/wiki#display-configuration
|
||||||
|
OutputSettings = "output * scale 1";
|
||||||
|
|
||||||
|
# See: https://wiki.hyprland.org/Configuring/Monitors
|
||||||
MonitorSettings = "
|
MonitorSettings = "
|
||||||
monitor=eDP-1, 2560x1600@165, 0x0, 1.25
|
monitor=eDP-1, 2560x1600@165, 0x0, 1.25
|
||||||
monitor=DP-1, 2560x1440@144, 2560x0, 1.25
|
monitor=DP-1, 2560x1440@144, 2560x0, 1.25
|
||||||
";
|
";
|
||||||
### MonitorSettings For Hyprland See https://wiki.hyprland.org/Configuring/Monitors/
|
|
||||||
|
|
||||||
OutputSettings = "output * scale 1";
|
# -------------------- Software --------------------
|
||||||
### OutputSettings For sway See https://github.com/swaywm/sway/wiki#display-configuration
|
# See: https://sing-box.sagernet.org
|
||||||
|
SingBox = true;
|
||||||
|
|
||||||
ScaleLevel = "1";
|
# See: https://github.com/qemu/qemu
|
||||||
### For Hyprland see https://wiki.hyprland.org/Configuring/XWayland/#hidpi-xwayland
|
# See: https://github.com/virt-manager/virt-manager
|
||||||
### For sway see https://github.com/swaywm/sway/wiki#hidpi
|
QEMU-VM-Use-Case = true;
|
||||||
|
|
||||||
WM = "niri";
|
# See: https://github.com/dbeaver/dbeaver
|
||||||
### Possible options: Hyprland ; niri ; sway
|
Database-Use-Case = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" =
|
||||||
{ device = "/dev/disk/by-uuid/67e9d418-8f31-4af7-9178-ae9641099844";
|
{ device = "/dev/mapper/luks-6647cbcd-ed3a-4205-9a2c-78e337e2f3bf";
|
||||||
fsType = "xfs";
|
fsType = "xfs";
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -28,13 +28,6 @@
|
|||||||
|
|
||||||
swapDevices = [ ];
|
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";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,56 +1,62 @@
|
|||||||
{
|
{
|
||||||
# Specific Use Cases
|
# -------------------- Hardware --------------------
|
||||||
## Hardware related
|
# See: https://github.com/blueman-project/blueman
|
||||||
Bluetooth = false;
|
Bluetooth = false;
|
||||||
### See https://github.com/blueman-project/blueman
|
|
||||||
|
|
||||||
|
# See: https://nixos.wiki/wiki/AMD_GPU
|
||||||
GPU-AMD = false;
|
GPU-AMD = false;
|
||||||
### See https://nixos.wiki/wiki/AMD_GPU
|
|
||||||
|
|
||||||
|
# See: https://nixos.wiki/wiki/Nvidia
|
||||||
GPU-Nvidia = false;
|
GPU-Nvidia = false;
|
||||||
### See https://nixos.wiki/wiki/Nvidia
|
|
||||||
|
|
||||||
|
# See: https://nixos.wiki/wiki/Intel_Graphics
|
||||||
GPU-Intel = false;
|
GPU-Intel = false;
|
||||||
### See https://nixos.wiki/wiki/Intel_Graphics
|
|
||||||
|
|
||||||
HotSpot-Use-Case = false;
|
# See: https://github.com/linrunner/TLP
|
||||||
### See https://nixos.wiki/wiki/Internet_Connection_Sharing
|
Power-control = "PPD"; ## Possible options: PPD ; TLP
|
||||||
|
|
||||||
## Software related
|
# -------------------- System --------------------
|
||||||
QEMU-VM-Use-Case = false;
|
# See https://nixos.wiki/wiki/Bootloader
|
||||||
### See https://github.com/qemu/qemu ; https://github.com/virt-manager/virt-manager
|
# See: https://search.nixos.org/options?show=boot.loader.grub.mirroredBoots
|
||||||
|
BootLoader = "systemd-boot"; ## Possible options: grub ; grub-mirror ; systemd-boot
|
||||||
|
|
||||||
# Options
|
# See: https://search.nixos.org/options?show=boot.kernelPackages
|
||||||
## System related
|
# See: https://www.nyx.chaotic.cx/#using-sched-ext-schedulers
|
||||||
BootLoader = "systemd-boot";
|
KernelPackages = "linuxPackages_zen";
|
||||||
### 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";
|
# See: https://mynixos.com/nixpkgs/option/system.stateVersion
|
||||||
### See https://search.nixos.org/options?show=boot.kernelPackages https://www.nyx.chaotic.cx/#using-sched-ext-schedulers
|
StateVersion = "26.05";
|
||||||
|
|
||||||
KeyboardLayout = "us";
|
|
||||||
### See https://en.wikipedia.org/wiki/Keyboard_layout
|
|
||||||
|
|
||||||
|
# See: https://docs.moodle.org/405/en/Table_of_locales
|
||||||
Locale = "en_US.UTF-8";
|
Locale = "en_US.UTF-8";
|
||||||
### See https://docs.moodle.org/405/en/Table_of_locales
|
|
||||||
|
|
||||||
StateVersion = "25.11";
|
# See: https://en.wikipedia.org/wiki/Keyboard_layout
|
||||||
### See https://mynixos.com/nixpkgs/option/system.stateVersion
|
KeyboardLayout = "us";
|
||||||
|
|
||||||
|
# See: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
||||||
TimeZone = "Asia/Singapore";
|
TimeZone = "Asia/Singapore";
|
||||||
### See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
|
|
||||||
|
|
||||||
## Wayland related
|
# -------------------- Display --------------------
|
||||||
MonitorSettings = "monitor = , preferred, auto, auto";
|
WM = "Hyprland"; ## Options: "Hyprland" | "niri" | "sway"
|
||||||
### MonitorSettings For Hyprland See https://wiki.hyprland.org/Configuring/Monitors/
|
|
||||||
|
|
||||||
OutputSettings = "output * scale 1";
|
|
||||||
### OutputSettings For sway See https://github.com/swaywm/sway/wiki#display-configuration
|
|
||||||
|
|
||||||
|
# See: https://wiki.hyprland.org/Configuring/XWayland/#hidpi-xwayland
|
||||||
|
# See: https://github.com/swaywm/sway/wiki#hidpi
|
||||||
ScaleLevel = "1";
|
ScaleLevel = "1";
|
||||||
### For Hyprland see https://wiki.hyprland.org/Configuring/XWayland/#hidpi-xwayland
|
|
||||||
### For sway see https://github.com/swaywm/sway/wiki#hidpi
|
|
||||||
|
|
||||||
WM = "Hyprland";
|
# See: https://github.com/swaywm/sway/wiki#display-configuration
|
||||||
### Possible options: Hyprland ; niri ; sway
|
OutputSettings = "output * scale 1";
|
||||||
|
|
||||||
|
# See: https://wiki.hyprland.org/Configuring/Monitors
|
||||||
|
MonitorSettings = "monitor = , preferred, auto, auto";
|
||||||
|
|
||||||
|
# -------------------- Software --------------------
|
||||||
|
# See: https://sing-box.sagernet.org
|
||||||
|
SingBox = true;
|
||||||
|
|
||||||
|
# See: https://github.com/qemu/qemu
|
||||||
|
# See: https://github.com/virt-manager/virt-manager
|
||||||
|
QEMU-VM-Use-Case = false;
|
||||||
|
|
||||||
|
# See: https://github.com/dbeaver/dbeaver
|
||||||
|
Database-Use-Case = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ in
|
|||||||
config = mkIf Bluetooth {
|
config = mkIf Bluetooth {
|
||||||
hardware.bluetooth = {
|
hardware.bluetooth = {
|
||||||
enable = lib.mkDefault true;
|
enable = lib.mkDefault true;
|
||||||
powerOnBoot = lib.mkDefault true;
|
powerOnBoot = lib.mkDefault false;
|
||||||
};
|
};
|
||||||
services.blueman.enable = lib.mkDefault true;
|
services.blueman.enable = lib.mkDefault true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -8,10 +8,14 @@ in {
|
|||||||
services = {
|
services = {
|
||||||
greetd = {
|
greetd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
useTextGreeter = true;
|
||||||
settings = {
|
settings = {
|
||||||
default_session = {
|
default_session = {
|
||||||
user = "greeter";
|
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";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
20
modules/services/mysql.nix
Normal file
20
modules/services/mysql.nix
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{ hostname, lib, pkgs, ... }:
|
||||||
|
with lib; let
|
||||||
|
inherit (import ../../hosts/${hostname}/env.nix) Database-Use-Case;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
config = mkIf Database-Use-Case {
|
||||||
|
services.mysql = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.mysql84;
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.services.mysql = {
|
||||||
|
wantedBy = lib.mkForce [ ];
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = [
|
||||||
|
pkgs.dbeaver-bin
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
23
modules/services/power.nix
Normal file
23
modules/services/power.nix
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{ hostname, lib, pkgs, ... }:
|
||||||
|
with lib; let
|
||||||
|
inherit (import ../../hosts/${hostname}/env.nix) Power-control;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
services.power-profiles-daemon.enable = (Power-control == "PPD");
|
||||||
|
|
||||||
|
services.tlp = lib.mkIf (Power-control == "TLP") {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
CPU_SCALING_GOVERNOR_ON_AC = "performance";
|
||||||
|
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
|
||||||
|
|
||||||
|
CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
|
||||||
|
CPU_ENERGY_PERF_POLICY_ON_BAT = "powersave";
|
||||||
|
|
||||||
|
CPU_MIN_PERF_ON_AC = 0;
|
||||||
|
CPU_MAX_PERF_ON_AC = 100;
|
||||||
|
CPU_MIN_PERF_ON_BAT = 0;
|
||||||
|
CPU_MAX_PERF_ON_BAT = 85;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -3,7 +3,6 @@
|
|||||||
{
|
{
|
||||||
services = {
|
services = {
|
||||||
gvfs.enable = true;
|
gvfs.enable = true;
|
||||||
power-profiles-daemon.enable = true;
|
|
||||||
scx = {
|
scx = {
|
||||||
enable = true;
|
enable = true;
|
||||||
scheduler = "scx_lavd";
|
scheduler = "scx_lavd";
|
||||||
|
|||||||
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
|
in
|
||||||
with lib; {
|
with lib; {
|
||||||
boot = {
|
boot = {
|
||||||
bcache.enable = false;
|
blacklistedKernelModules = [
|
||||||
consoleLogLevel = 2; # Only errors and warnings are displayed
|
"iTCO_wdt"
|
||||||
extraModprobeConfig = "blacklist mei mei_hdcp mei_me mei_pxp iTCO_wdt pstore sp5100_tco";
|
"iTCO_vendor_support"
|
||||||
extraModulePackages = [
|
"intel_pmc_bxt"
|
||||||
config.boot.kernelPackages.v4l2loopback # v4l2loopback is for OBS Virtual Cam Support
|
"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 = {
|
initrd = {
|
||||||
compressor = "zstd";
|
compressor = "zstd";
|
||||||
compressorArgs = ["-T0" "-19" "--long"];
|
compressorArgs = ["-T0" "-19" "--long"];
|
||||||
@@ -33,7 +43,7 @@ in
|
|||||||
"kernel.core_pattern" = "|/bin/false"; # Disable automatic core dumps
|
"kernel.core_pattern" = "|/bin/false"; # Disable automatic core dumps
|
||||||
"vm.max_map_count" = 2147483642; # Needed For Some Steam Games
|
"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};
|
kernelPackages = pkgs.${KernelPackages};
|
||||||
kernelParams = ["audit=0" "console=tty1" "erst_disable" "nmi_watchdog=0" "noatime" "nowatchdog"];
|
kernelParams = ["audit=0" "console=tty1" "erst_disable" "nmi_watchdog=0" "noatime" "nowatchdog"];
|
||||||
loader = {
|
loader = {
|
||||||
@@ -134,7 +144,6 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
system = {
|
system = {
|
||||||
rebuild.enableNg = true;
|
|
||||||
stateVersion = StateVersion;
|
stateVersion = StateVersion;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -46,9 +46,6 @@ in {
|
|||||||
# For OBS virtual cam support
|
# For OBS virtual cam support
|
||||||
v4l-utils
|
v4l-utils
|
||||||
|
|
||||||
# Editor
|
|
||||||
nano
|
|
||||||
|
|
||||||
# Networking tool
|
# Networking tool
|
||||||
iperf3
|
iperf3
|
||||||
nexttrace
|
nexttrace
|
||||||
@@ -61,6 +58,7 @@ in {
|
|||||||
xxd
|
xxd
|
||||||
file
|
file
|
||||||
binwalk
|
binwalk
|
||||||
|
qtscrcpy
|
||||||
android-tools
|
android-tools
|
||||||
payload-dumper-go
|
payload-dumper-go
|
||||||
|
|
||||||
@@ -70,28 +68,35 @@ in {
|
|||||||
libvirt
|
libvirt
|
||||||
lm_sensors
|
lm_sensors
|
||||||
usbutils
|
usbutils
|
||||||
|
libsecret
|
||||||
|
|
||||||
# Niri
|
# Niri
|
||||||
wlr-randr
|
wlr-randr
|
||||||
|
|
||||||
# Dev
|
# Dev
|
||||||
go
|
go
|
||||||
|
zig
|
||||||
|
lua
|
||||||
gcc
|
gcc
|
||||||
gdb
|
gdb
|
||||||
|
cmake
|
||||||
clang
|
clang
|
||||||
zig
|
gnumake
|
||||||
nodejs_20
|
rustc
|
||||||
|
cargo
|
||||||
|
dart
|
||||||
|
kotlin
|
||||||
|
flutter
|
||||||
|
jdk17
|
||||||
|
python312
|
||||||
pnpm
|
pnpm
|
||||||
|
nodejs_24
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
dconf.enable = true;
|
dconf.enable = true;
|
||||||
fuse.userAllowOther = true;
|
fuse.userAllowOther = true;
|
||||||
git = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.gitFull;
|
|
||||||
};
|
|
||||||
ssh.startAgent = true;
|
ssh.startAgent = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,13 +31,13 @@ with lib; {
|
|||||||
substituters = [
|
substituters = [
|
||||||
"https://cache.garnix.io" # See https://github.com/daeuniverse/flake.nix
|
"https://cache.garnix.io" # See https://github.com/daeuniverse/flake.nix
|
||||||
"https://cache.nixos.org" # See https://nixos.wiki/wiki/Binary_Cache
|
"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/
|
"https://nix-community.cachix.org" # See https://nix-community.org/cache/
|
||||||
];
|
];
|
||||||
trusted-public-keys = [
|
trusted-public-keys = [
|
||||||
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
|
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
|
||||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
"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="
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
];
|
];
|
||||||
warn-dirty = false;
|
warn-dirty = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user