mirror of
https://github.com/Dichgrem/DCGOS.git
synced 2025-12-16 03:01:59 -05:00
Compare commits
5 Commits
d1e8ee7374
...
7164b15e14
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7164b15e14 | ||
|
|
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"
|
||||
|
||||
2
dotfiles/.config/niri/switch_monitors.sh
vendored
2
dotfiles/.config/niri/switch_monitors.sh
vendored
@@ -48,3 +48,5 @@ 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 &)
|
||||
|
||||
60
flake.lock
generated
60
flake.lock
generated
@@ -77,11 +77,11 @@
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764153295,
|
||||
"narHash": "sha256-Y+Cp19zLo5JZVLSbzpyCTSK1bVYfE3Leuut6nQVkdR4=",
|
||||
"lastModified": 1764351487,
|
||||
"narHash": "sha256-7XJcTfz0dPhBd7nfyjcFxT1LIIctJZ2LthiI2Ltd7zY=",
|
||||
"owner": "chaotic-cx",
|
||||
"repo": "nyx",
|
||||
"rev": "29c49282c9b2e8216004a87086494defe401fee8",
|
||||
"rev": "2031f4a0507d0f7ab3e1aaff4c027a010feee447",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -117,11 +117,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764110879,
|
||||
"narHash": "sha256-xanUzIb0tf3kJ+PoOFmXEXV1jM3PjkDT/TQ5DYeNYRc=",
|
||||
"lastModified": 1764350888,
|
||||
"narHash": "sha256-6Rp18zavTlnlZzcoLoBTJMBahL2FycVkw2rAEs3cQvo=",
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"rev": "aecba248f9a7d68c5d1ed15de2d1c8a4c994a3c5",
|
||||
"rev": "2055a08fd0e2fd41318279a5355eb8a161accf26",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -281,11 +281,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764075860,
|
||||
"narHash": "sha256-KYEIHCBBw+/lwKsJNRNoUxBB4ZY2LK0G0T8f+0i65q0=",
|
||||
"lastModified": 1764194569,
|
||||
"narHash": "sha256-iUM9ktarEzThkayyZrzQ7oycPshAY2XRQqVKz0xX/L0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "295d90e22d557ccc3049dc92460b82f372cd3892",
|
||||
"rev": "9651819d75f6c7ffaf8a9227490ac704f29659f0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -301,11 +301,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764304195,
|
||||
"narHash": "sha256-bO7FN/bF6gG7TlZpKAZjO3VvfsLaPFkefeUfJJ7F/7w=",
|
||||
"lastModified": 1764544324,
|
||||
"narHash": "sha256-GVBGjO7UsmzLrlOJV8NlKSxukHaHencrJqWkCA6FkqI=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "86ff0ef506c209bb397849706e85cc3a913cb577",
|
||||
"rev": "e4e25a8c310fa45f2a8339c7972dc43d2845a612",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -351,11 +351,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1763714684,
|
||||
"narHash": "sha256-ZNJPAaeSYQTDgvwwE8XHhCz4HiHqYoUyoXdoBE2nxug=",
|
||||
"lastModified": 1764275117,
|
||||
"narHash": "sha256-DRcv8Y0BnWm4ZhUQnaYk1dNzC6ZhA2W9Vv5Jl4n0RbE=",
|
||||
"owner": "Jovian-Experiments",
|
||||
"repo": "Jovian-NixOS",
|
||||
"rev": "6178d787ee61b8586fdb0ccb8644fbfd5317d0f3",
|
||||
"rev": "96023dcc9a0febaaa3b91f447b9ae2fbe86f2923",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -389,11 +389,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1763966396,
|
||||
"narHash": "sha256-6eeL1YPcY1MV3DDStIDIdy/zZCDKgHdkCmsrLJFiZf0=",
|
||||
"lastModified": 1764242076,
|
||||
"narHash": "sha256-sKoIWfnijJ0+9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5ae3b07d8d6527c42f17c876e404993199144b6a",
|
||||
"rev": "2fad6eac6077f03fe109c4d4eb171cf96791faa4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -433,11 +433,11 @@
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1763966396,
|
||||
"narHash": "sha256-6eeL1YPcY1MV3DDStIDIdy/zZCDKgHdkCmsrLJFiZf0=",
|
||||
"lastModified": 1764517877,
|
||||
"narHash": "sha256-pp3uT4hHijIC8JUK5MEqeAWmParJrgBVzHLNfJDZxg4=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5ae3b07d8d6527c42f17c876e404993199144b6a",
|
||||
"rev": "2d293cbfa5a793b4c50d17c05ef9e385b90edf6c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -473,11 +473,11 @@
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764238240,
|
||||
"narHash": "sha256-7Znm3koZ4sF+O41Y7rJqf651BPEbjIUYF3r9H23GRGw=",
|
||||
"lastModified": 1764537799,
|
||||
"narHash": "sha256-+FvqJSUI9kNLwnSbEBnvjoNs9uQplNytf5+jYPafsKw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "f1e07ba53abd0fb4872a365cba45562144ad6130",
|
||||
"rev": "aab92fcc99cdfa81c01d754f5a9047414bb6cf32",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -553,11 +553,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764038373,
|
||||
"narHash": "sha256-M6w2wNBRelcavoDAyFL2iO4NeWknD40ASkH1S3C0YGM=",
|
||||
"lastModified": 1764211126,
|
||||
"narHash": "sha256-p5y13PnMZYd5WdHk+XCzyUaLGBUCwnz2n4KYKEZM0Pw=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "ab3536fe850211a96673c6ffb2cb88aab8071cc9",
|
||||
"rev": "895935bff08cfcfb663fb9c8263c43596e7cd1ed",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -585,11 +585,11 @@
|
||||
"tinted-zed": "tinted-zed"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1764254063,
|
||||
"narHash": "sha256-V22JzkaTLF/GAL2LgqvOsJhAr8JbJsKaD8hnHjGwXfE=",
|
||||
"lastModified": 1764550443,
|
||||
"narHash": "sha256-ArO2V1YEHmEILilTj4KPtqF4gqc1q2HBrrrmygQ/UyU=",
|
||||
"owner": "danth",
|
||||
"repo": "stylix",
|
||||
"rev": "a1451bc40413870f0c7b576b751c1ca92055e323",
|
||||
"rev": "794b6e1fa75177ebfeb32967f135858a1ab1ba15",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -8,39 +8,28 @@
|
||||
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.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 = {
|
||||
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 = [
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -17,9 +17,19 @@
|
||||
in
|
||||
with lib; {
|
||||
boot = {
|
||||
bcache.enable = false;
|
||||
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
|
||||
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
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user