Compare commits
3 Commits
141f6f1b96
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 9c1e54a9b4 | |||
| a614e65597 | |||
| 90a409b9b3 |
4
Makefile
4
Makefile
@@ -4,6 +4,10 @@ switch:
|
|||||||
@echo "Rebuilding NixOS..."
|
@echo "Rebuilding NixOS..."
|
||||||
@nh os switch .
|
@nh os switch .
|
||||||
|
|
||||||
|
switch-slow:
|
||||||
|
@echo "Rebuilding NixOS..."
|
||||||
|
@nh os switch . -- --max-jobs 1
|
||||||
|
|
||||||
boot:
|
boot:
|
||||||
@echo "Rebuilding NixOS..."
|
@echo "Rebuilding NixOS..."
|
||||||
@nh os boot .
|
@nh os boot .
|
||||||
|
|||||||
54
README.md
54
README.md
@@ -1,54 +0,0 @@
|
|||||||
<h2 align="center">:snowflake: imxyy_soope_'s NixOS Config :snowflake:</h2>
|
|
||||||
|
|
||||||
> This configuration and READMEs in this repo borrows heavily from [ryan4yin/nix-config](https://github.com/ryan4yin/nix-config) and his
|
|
||||||
> [cookbook](https://github.com/ryan4yin/nixos-and-flakes-book). Many thanks to his spirit of sharing!
|
|
||||||
|
|
||||||
This repository is home to the nix code that builds my systems:
|
|
||||||
Currently, this repository contains the nix code that builds:
|
|
||||||
|
|
||||||
1. NixOS Desktop: NixOS with home-manager, niri, neovim, etc.
|
|
||||||
2. NixOS home server
|
|
||||||
3. NixOS WSL
|
|
||||||
|
|
||||||
See [./config/hosts](./config/hosts) for details of each host.
|
|
||||||
|
|
||||||
## Why NixOS & Flakes?
|
|
||||||
|
|
||||||
Nix allows for easy-to-manage, collaborative, reproducible deployments. This
|
|
||||||
means that once something is setup and configured once, it works (almost)
|
|
||||||
forever. If someone else shares their configuration, anyone else can just use it
|
|
||||||
(if you really understand what you're copying/refering now).
|
|
||||||
|
|
||||||
As for Flakes, refer to
|
|
||||||
[Introduction to Flakes - NixOS & Nix Flakes Book](https://nixos-and-flakes.thiscute.world/nixos-with-flakes/introduction-to-flakes)
|
|
||||||
|
|
||||||
## Components
|
|
||||||
|
|
||||||
| | NixOS(Wayland) |
|
|
||||||
| ----------------------------- | :------------------------------------------------------ |
|
|
||||||
| **Window Manager** | Niri |
|
|
||||||
| **Terminal Emulator** | Alacritty & Kitty & Foot & Ghostty |
|
|
||||||
| **Bar** | Waybar |
|
|
||||||
| **Application Launcher** | wofi |
|
|
||||||
| **Notification Daemon** | SwayNotificationCenter |
|
|
||||||
| **Input method framework** | Fcitx5 |
|
|
||||||
| **Shell** | Zsh |
|
|
||||||
| **Netease Cloudmusic Player** | go-musicfox |
|
|
||||||
| **Media Player** | mpv |
|
|
||||||
| **Text Editor** | Neovim |
|
|
||||||
| **Fonts** | Noto Sans CJK & Jetbrains Mono & Nerd Font |
|
|
||||||
| **Filesystem** | btrfs subvolumes, clean '/' every boot for impermanence |
|
|
||||||
|
|
||||||
And more...
|
|
||||||
|
|
||||||
## Folder Structure
|
|
||||||
|
|
||||||
- `modules/` - custom NixOS modules
|
|
||||||
- `config/base.nix` - generic configs
|
|
||||||
- `config/hosts/<name>/` - hosts-specific configs
|
|
||||||
- `lib/` - custom nix library
|
|
||||||
- `pkgs/` - custom packages
|
|
||||||
- `overlays/` - nixpkgs overlays
|
|
||||||
- `vars.nix` - my variables
|
|
||||||
- `secrets/` - secrets managed by sops-nix. see [./secrets](./secrets) for details
|
|
||||||
- `flake.nix` - flake entry
|
|
||||||
@@ -5,8 +5,13 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
hardware.nvidia.open = true;
|
hardware.nvidia = {
|
||||||
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.beta;
|
package = config.boot.kernelPackages.nvidiaPackages.latest;
|
||||||
|
modesetting.enable = true;
|
||||||
|
nvidiaSettings = true;
|
||||||
|
open = true;
|
||||||
|
};
|
||||||
|
# services.xserver.videoDrivers = [ "nvidia" ];
|
||||||
boot = {
|
boot = {
|
||||||
initrd = {
|
initrd = {
|
||||||
availableKernelModules = [
|
availableKernelModules = [
|
||||||
|
|||||||
@@ -9,8 +9,6 @@
|
|||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
localsend
|
localsend
|
||||||
|
|
||||||
rclone
|
|
||||||
|
|
||||||
wpsoffice-cn
|
wpsoffice-cn
|
||||||
wps-office-fonts
|
wps-office-fonts
|
||||||
ttf-wps-fonts
|
ttf-wps-fonts
|
||||||
@@ -26,6 +24,16 @@
|
|||||||
pavucontrol
|
pavucontrol
|
||||||
pamixer
|
pamixer
|
||||||
qqmusic
|
qqmusic
|
||||||
|
|
||||||
|
lumafly
|
||||||
|
|
||||||
|
scanmem
|
||||||
|
|
||||||
|
xmind
|
||||||
|
|
||||||
|
netease-cloud-music-gtk
|
||||||
|
|
||||||
|
maven
|
||||||
];
|
];
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
|
|||||||
@@ -65,7 +65,11 @@
|
|||||||
sopsFile = secrets.easytier;
|
sopsFile = secrets.easytier;
|
||||||
format = "binary";
|
format = "binary";
|
||||||
};
|
};
|
||||||
environment.systemPackages = [ pkgs.easytier ];
|
environment.systemPackages = with pkgs; [
|
||||||
|
inetutils
|
||||||
|
|
||||||
|
easytier
|
||||||
|
];
|
||||||
systemd.services."easytier" = {
|
systemd.services."easytier" = {
|
||||||
enable = true;
|
enable = true;
|
||||||
script = "${pkgs.easytier}/bin/easytier-core -c ${config.sops.secrets.easytier.path}";
|
script = "${pkgs.easytier}/bin/easytier-core -c ${config.sops.secrets.easytier.path}";
|
||||||
|
|||||||
@@ -6,75 +6,6 @@
|
|||||||
secrets,
|
secrets,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
|
||||||
btreset = pkgs.writeScriptBin "btreset" ''
|
|
||||||
#!${lib.getExe pkgs.python3}
|
|
||||||
|
|
||||||
import subprocess
|
|
||||||
import os
|
|
||||||
import sys
|
|
||||||
|
|
||||||
SYM = "BT"
|
|
||||||
|
|
||||||
def action(line: str) -> bool:
|
|
||||||
if line.find(SYM) == -1:
|
|
||||||
return False
|
|
||||||
temp = line.split(" ")
|
|
||||||
bus = temp[1]
|
|
||||||
device = temp[3][:-1]
|
|
||||||
subprocess.run(["${lib.getExe usbreset}", f"/dev/bus/usb/{bus}/{device}"])
|
|
||||||
return True
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
if os.path.exists("/tmp/.btreseted") and len(sys.argv) == 1 and "-f" not in sys.argv[1:]:
|
|
||||||
exit(0)
|
|
||||||
res_byte = subprocess.check_output("/run/current-system/sw/bin/lsusb")
|
|
||||||
res = res_byte.decode()
|
|
||||||
lst = res.split("\n")
|
|
||||||
|
|
||||||
if any(tuple(map(action, lst))):
|
|
||||||
with open("/tmp/.btreseted", "w"):
|
|
||||||
...
|
|
||||||
'';
|
|
||||||
usbreset = pkgs.writeCBin "usbreset" ''
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <sys/ioctl.h>
|
|
||||||
|
|
||||||
#include <linux/usbdevice_fs.h>
|
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
|
||||||
{
|
|
||||||
const char *filename;
|
|
||||||
int fd;
|
|
||||||
int rc;
|
|
||||||
|
|
||||||
if (argc != 2) {
|
|
||||||
fprintf(stderr, "Usage: usbreset device-filename\n");
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
filename = argv[1];
|
|
||||||
|
|
||||||
fd = open(filename, O_WRONLY);
|
|
||||||
if (fd < 0) {
|
|
||||||
perror("Error opening output file");
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
printf("Resetting USB device %s\n", filename);
|
|
||||||
rc = ioctl(fd, USBDEVFS_RESET, 0);
|
|
||||||
if (rc < 0) {
|
|
||||||
perror("Error in ioctl");
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
printf("Reset successful\n");
|
|
||||||
|
|
||||||
close(fd);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
security.pam.loginLimits = [
|
security.pam.loginLimits = [
|
||||||
{
|
{
|
||||||
@@ -85,11 +16,6 @@ in
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
systemd.services.btreset = {
|
|
||||||
script = lib.getExe btreset;
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
serviceConfig.Type = "oneshot";
|
|
||||||
};
|
|
||||||
boot.kernelParams = [
|
boot.kernelParams = [
|
||||||
"usbcore.autosuspend=-1" # Avoid usb autosuspend (for usb bluetooth adapter)
|
"usbcore.autosuspend=-1" # Avoid usb autosuspend (for usb bluetooth adapter)
|
||||||
"fsck.mode=skip"
|
"fsck.mode=skip"
|
||||||
@@ -141,6 +67,8 @@ in
|
|||||||
};
|
};
|
||||||
users.extraUsers.${username}.extraGroups = [ "audio" ];
|
users.extraUsers.${username}.extraGroups = [ "audio" ];
|
||||||
|
|
||||||
|
programs.nix-ld.enable = true;
|
||||||
|
|
||||||
fonts = {
|
fonts = {
|
||||||
enableDefaultPackages = false;
|
enableDefaultPackages = false;
|
||||||
fontDir.enable = true;
|
fontDir.enable = true;
|
||||||
@@ -177,28 +105,9 @@ in
|
|||||||
|
|
||||||
services.printing.enable = true;
|
services.printing.enable = true;
|
||||||
|
|
||||||
services.keyd = {
|
|
||||||
enable = true;
|
|
||||||
keyboards.default.settings = {
|
|
||||||
main = {
|
|
||||||
capslock = "overload(control, esc)";
|
|
||||||
home = "end";
|
|
||||||
};
|
|
||||||
shift = {
|
|
||||||
home = "home";
|
|
||||||
};
|
|
||||||
control = {
|
|
||||||
delete = "print";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.gvfs.enable = true;
|
services.gvfs.enable = true;
|
||||||
|
|
||||||
programs.wireshark.enable = true;
|
/*
|
||||||
programs.wireshark.package = pkgs.wireshark;
|
|
||||||
users.users.${username}.extraGroups = [ "wireshark" ];
|
|
||||||
|
|
||||||
services.sunshine = {
|
services.sunshine = {
|
||||||
enable = true;
|
enable = true;
|
||||||
autoStart = true;
|
autoStart = true;
|
||||||
@@ -210,6 +119,7 @@ in
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
*/
|
||||||
services.openssh = {
|
services.openssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
@@ -218,9 +128,4 @@ in
|
|||||||
PasswordAuthentication = true;
|
PasswordAuthentication = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = [
|
|
||||||
pkgs.rclone
|
|
||||||
btreset
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|||||||
130
flake.lock
generated
130
flake.lock
generated
@@ -37,11 +37,11 @@
|
|||||||
"base16-helix": {
|
"base16-helix": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748408240,
|
"lastModified": 1752979451,
|
||||||
"narHash": "sha256-9M2b1rMyMzJK0eusea0x3lyh3mu5nMeEDSc4RZkGm+g=",
|
"narHash": "sha256-0CQM+FkYy0fOO/sMGhOoNL80ftsAzYCg9VhIrodqusM=",
|
||||||
"owner": "tinted-theming",
|
"owner": "tinted-theming",
|
||||||
"repo": "base16-helix",
|
"repo": "base16-helix",
|
||||||
"rev": "6c711ab1a9db6f51e2f6887cc3345530b33e152e",
|
"rev": "27cf1e66e50abc622fb76a3019012dc07c678fac",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -107,11 +107,11 @@
|
|||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1753146705,
|
"lastModified": 1753875761,
|
||||||
"narHash": "sha256-WzmXODUzg8jeEsAhpmp55zk5I2fmv3kv+RofZ/+FYlg=",
|
"narHash": "sha256-FqsfIWS0mQ5OzLRLFgVEBWew/7WROSNr8lvTJJ7AQ4w=",
|
||||||
"owner": "chaotic-cx",
|
"owner": "chaotic-cx",
|
||||||
"repo": "nyx",
|
"repo": "nyx",
|
||||||
"rev": "02b3c2a45f6ddbd704f797c5730bc2d161f10ce0",
|
"rev": "b184ca87254844a6c2098b27b4ab493e6faf6cf7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -128,11 +128,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1753134819,
|
"lastModified": 1753219021,
|
||||||
"narHash": "sha256-K0dxmI2P5PG8sRkolcmSfPFd9ZCRvYgLLvMZJZyETaI=",
|
"narHash": "sha256-wYL0oMGwFPbhYT0G2NcR4ud00TI06TEWOrvPpN4eNl0=",
|
||||||
"owner": "Bali10050",
|
"owner": "Bali10050",
|
||||||
"repo": "Darkly",
|
"repo": "Darkly",
|
||||||
"rev": "5d5696091e706fcdcf13b90affa3e9783b8b3ac0",
|
"rev": "79ec260ff2a9af1f4de10e670c75b31b7fbcd5da",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -171,11 +171,11 @@
|
|||||||
"rust-analyzer-src": "rust-analyzer-src"
|
"rust-analyzer-src": "rust-analyzer-src"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1753166582,
|
"lastModified": 1753858083,
|
||||||
"narHash": "sha256-EUjND31oxYwWw9Nl6HPLbsruNpicUQU8T/ZwgqB/OCY=",
|
"narHash": "sha256-9eNLBxVBaOLGTOC1QkwrzRtnb1x9MB/3PYLb+CiALZY=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "fenix",
|
"repo": "fenix",
|
||||||
"rev": "a96e6ce7ec45c47aedad3728ef32de4ae4c0e416",
|
"rev": "2c5508b7563b9138a00cd82e213febfc9cbbb36c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -457,11 +457,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748528448,
|
"lastModified": 1751817769,
|
||||||
"narHash": "sha256-Tyn+PgBm78Ibq28/WbEz8+pYJZMdbJKsyXMCpT6TjrM=",
|
"narHash": "sha256-j7ORyAJFNxYWwF+6fs2z5IcJ40TpVwrkFYU9/CGHwfA=",
|
||||||
"owner": "imxyy1soope1",
|
"owner": "imxyy1soope1",
|
||||||
"repo": "go-musicfox",
|
"repo": "go-musicfox",
|
||||||
"rev": "1870fd3501631577ad4daef1489b03885abcb037",
|
"rev": "179b9440b6f209e7fd6ade589117b72bdd9042a6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -500,11 +500,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1753132348,
|
"lastModified": 1753761827,
|
||||||
"narHash": "sha256-0i3jU9AHuNXb0wYGzImnVwaw+miE0yW13qfjC0F+fIE=",
|
"narHash": "sha256-mrVNT+aF4yR8P8Fx570W2vz+LzukSlf68Yr2YhUJHjo=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "e4bf85da687027cfc4a8853ca11b6b86ce41d732",
|
"rev": "50adf8fcaa97c9d64309f2d507ed8be54ea23110",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -520,11 +520,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1753132348,
|
"lastModified": 1753888434,
|
||||||
"narHash": "sha256-0i3jU9AHuNXb0wYGzImnVwaw+miE0yW13qfjC0F+fIE=",
|
"narHash": "sha256-xQhSeLJVsxxkwchE4s6v1CnOI6YegCqeA1fgk/ivVI4=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "e4bf85da687027cfc4a8853ca11b6b86ce41d732",
|
"rev": "0630790b31d4547d79ff247bc3ba1adda3a017d9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -595,11 +595,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1752755091,
|
"lastModified": 1753764272,
|
||||||
"narHash": "sha256-H/k35QJLyQxkFnXR5ckMv/Z+ElNa5f22qNKdyGBMAn4=",
|
"narHash": "sha256-8/tZ3ZJpplWaVxgMeRg26cUclBZ27UUnnJdzd+RQKqE=",
|
||||||
"owner": "Jovian-Experiments",
|
"owner": "Jovian-Experiments",
|
||||||
"repo": "Jovian-NixOS",
|
"repo": "Jovian-NixOS",
|
||||||
"rev": "0d09755fe1df1886e5f07dbb16f7ed373080f86a",
|
"rev": "448688ae3df3152fec412e583239473934109486",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -668,11 +668,11 @@
|
|||||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1753132162,
|
"lastModified": 1753839324,
|
||||||
"narHash": "sha256-ycK2rB1kltXcrz5+dpldPngiYMukgaT2atwxhTjkIZQ=",
|
"narHash": "sha256-ipcsHV+XE7gaItRhqLsjLCYKIk57IAP1s9BHajQRotA=",
|
||||||
"owner": "sodiboo",
|
"owner": "sodiboo",
|
||||||
"repo": "niri-flake",
|
"repo": "niri-flake",
|
||||||
"rev": "f7cc80e3ad7e34ac523ba401ece49c4151fc19ca",
|
"rev": "0108605855b3222c8965fa23fc05d713b77d0564",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -804,11 +804,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1752682362,
|
"lastModified": 1753704990,
|
||||||
"narHash": "sha256-ZNIpqCG/CfhmV+TgIeyO/XbhDjSWpwWokHM44j0Mn0w=",
|
"narHash": "sha256-5E14xuNWy2Un1nFR55k68hgbnD8U2x/rE5DXJtYKusw=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NixOS-WSL",
|
"repo": "NixOS-WSL",
|
||||||
"rev": "20001f9bf0aaf2b1c307e43a5eec8cf8f800fe14",
|
"rev": "58c814cc6d4a789191f9c12e18277107144b0c91",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -819,11 +819,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1752950548,
|
"lastModified": 1753694789,
|
||||||
"narHash": "sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc=",
|
"narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c87b95e25065c028d31a94f06a62927d18763fdf",
|
"rev": "dc9637876d0dcc8c9e5e22986b857632effeb727",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -847,11 +847,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-master": {
|
"nixpkgs-master": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1753168712,
|
"lastModified": 1753941802,
|
||||||
"narHash": "sha256-z3xENTx8CgQjxTYwpzFgp+IGcHuEYiObaCnsZ/n7Wf4=",
|
"narHash": "sha256-pQt2gqpCCA0GWEqcm4IzvkbLw4fNMn6JNq+5BBPpyAM=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "52bfb2685fa0afc1394201103ab1c8511e74261e",
|
"rev": "ed33ba16ce8e8605d8e9ef2dc6e802bc3134781d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -863,11 +863,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1753168829,
|
"lastModified": 1753907720,
|
||||||
"narHash": "sha256-/xbkt7rKnCgpzjRTPiqJTsauV+w1FGSgLzFISTxulfg=",
|
"narHash": "sha256-rkoY2MZqt8qZbL/R+kUAm9unGXeEBaRpyls/mvImbJQ=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "ec031223f1f94bbbaca8f7d975cb5a7441f90505",
|
"rev": "22e6141f9c24030dbbd0a7b7c55f5714830e22b5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -879,11 +879,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1753088943,
|
"lastModified": 1753904442,
|
||||||
"narHash": "sha256-cIyYVyDTSR6K3+xUGvEO3GAtBsdBhBcDALqHK50QEIQ=",
|
"narHash": "sha256-XHeb6yarZ9YLd3aQsnc0c8FrpnBGtHckQGZBPYXF7Uk=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "91b279d8c68718659084298ea287c73b5bf6df2c",
|
"rev": "d02f407d2bb5a5cb2f2f75c2a7c30d5b854be11b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -943,11 +943,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1752950548,
|
"lastModified": 1753694789,
|
||||||
"narHash": "sha256-NS6BLD0lxOrnCiEOcvQCDVPXafX1/ek1dfJHX1nUIzc=",
|
"narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c87b95e25065c028d31a94f06a62927d18763fdf",
|
"rev": "dc9637876d0dcc8c9e5e22986b857632effeb727",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -963,11 +963,11 @@
|
|||||||
"nixpkgs": "nixpkgs_5"
|
"nixpkgs": "nixpkgs_5"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1753166477,
|
"lastModified": 1753942697,
|
||||||
"narHash": "sha256-ftWDv9eUl0cNsJfhwx7RrIZvtUt0SH3LoGsBZfGyWDw=",
|
"narHash": "sha256-rZfW0XNiJVQojH9jBqifnccZykcIzugXxy+J4mZAl8E=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "690f8c0102a674b35ac4e919bb34a8ef10d0e84c",
|
"rev": "fcab7393172a4a8821d70fe1df23b93fb3217ef7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -1008,11 +1008,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1753090730,
|
"lastModified": 1753595452,
|
||||||
"narHash": "sha256-QG14m53ZGp2Gk7xD2Q+Tf7RYCKfk/BYRaBtX3X4IKbc=",
|
"narHash": "sha256-vqkSDvh7hWhPvNjMjEDV4KbSCv2jyl2Arh73ZXe274k=",
|
||||||
"ref": "refs/heads/master",
|
"ref": "refs/heads/master",
|
||||||
"rev": "db77c71c216530159c2dcf5b269ebb4706b2e2dd",
|
"rev": "a5431dd02dc23d9ef1680e67777fed00fe5f7cda",
|
||||||
"revCount": 653,
|
"revCount": 665,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
|
||||||
},
|
},
|
||||||
@@ -1049,11 +1049,11 @@
|
|||||||
"rust-analyzer-src": {
|
"rust-analyzer-src": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1753115469,
|
"lastModified": 1753789923,
|
||||||
"narHash": "sha256-5U3eokxjR/nTDQokJVZSL3j0THxQwWbYBpLO1dp8ZOw=",
|
"narHash": "sha256-z45szWoM2UZJuo2791LnkI6agdtBhZFSo87elnhp/eI=",
|
||||||
"owner": "rust-lang",
|
"owner": "rust-lang",
|
||||||
"repo": "rust-analyzer",
|
"repo": "rust-analyzer",
|
||||||
"rev": "9a1ee18e4dccc29c41d5c642860e58641d5ed0de",
|
"rev": "e57f18480dc3b1a0f46cd83e2aaa1cf3b53d8ece",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -1071,11 +1071,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1753066249,
|
"lastModified": 1753757591,
|
||||||
"narHash": "sha256-j2UBrfDRIePGx3532Bbb9UeosNX2F73hfOAHtmACfnM=",
|
"narHash": "sha256-3okLvry8fRWZhJZP75pPC9P6U1dcu84VOCPhPLXYozI=",
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "rust-overlay",
|
"repo": "rust-overlay",
|
||||||
"rev": "0751b65633a1785743ca44fd7c14a633c54c1f91",
|
"rev": "b372cf71b4125d420d7648cbd898ab8f5c355be2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -1125,11 +1125,11 @@
|
|||||||
"tinted-zed": "tinted-zed"
|
"tinted-zed": "tinted-zed"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1753117651,
|
"lastModified": 1753919664,
|
||||||
"narHash": "sha256-7gWBlUOe2c0nYGyoVDa9hw15pI3DXDR0KK+nYh9KOpU=",
|
"narHash": "sha256-U7Ts8VbVD4Z6n67gFx00dkpQJu27fMu173IUopX3pNI=",
|
||||||
"owner": "danth",
|
"owner": "danth",
|
||||||
"repo": "stylix",
|
"repo": "stylix",
|
||||||
"rev": "ea60526c8c2a1c5df2743a9495814dc0b319ef3b",
|
"rev": "30f5022236cf8dd257941cb0f910e198e7e464c7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -1290,11 +1290,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1753417538,
|
"lastModified": 1753933355,
|
||||||
"narHash": "sha256-Z/MbHMjvHoC57sQS43/oLwzEQebT5ST8MRU8Zcb5428=",
|
"narHash": "sha256-4QxMcKS6oc+cG8efwwAin4M+YOokBak1dVS8u5P3b5M=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "d04bdc75b3d203b951ce00cbb6a7ab410ab110c6",
|
"rev": "fa795a139a8c92b140bc21f11f61da1c97ad5b1d",
|
||||||
"revCount": 593,
|
"revCount": 608,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://gh-proxy.com/github.com/0xc000022070/zen-browser-flake"
|
"url": "https://gh-proxy.com/github.com/0xc000022070/zen-browser-flake"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -90,6 +90,7 @@
|
|||||||
infuse = (import inputs.infuse { inherit (nixpkgs) lib; }).v1.infuse;
|
infuse = (import inputs.infuse { inherit (nixpkgs) lib; }).v1.infuse;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
|
||||||
packages = forAllSystems (
|
packages = forAllSystems (
|
||||||
system:
|
system:
|
||||||
lib.haumea.load {
|
lib.haumea.load {
|
||||||
|
|||||||
@@ -47,9 +47,9 @@ altScreen=true
|
|||||||
# 双列显示,开启务必使用等宽字体
|
# 双列显示,开启务必使用等宽字体
|
||||||
doubleColumn=true
|
doubleColumn=true
|
||||||
# 下载目录,默认为$HOME/.go-musicfox/download
|
# 下载目录,默认为$HOME/.go-musicfox/download
|
||||||
downloadDir=/home/imxyy/Music/go-musicfox
|
downloadDir=/home/ccl/Music/go-musicfox
|
||||||
# 缓存目录,默认为${MUSICFOX_ROOT}/cache
|
# 缓存目录,默认为${MUSICFOX_ROOT}/cache
|
||||||
cacheDir=/home/imxyy/Music/go-musicfox/.cache
|
cacheDir=/home/ccl/Music/go-musicfox/.cache
|
||||||
# 缓存大小(以MB为单位),0为不使用缓存,-1为不限制,默认为0
|
# 缓存大小(以MB为单位),0为不使用缓存,-1为不限制,默认为0
|
||||||
cacheLimit=-1
|
cacheLimit=-1
|
||||||
# 是否显示歌单下所有歌曲,默认不开启,仅获取歌单前1000首,开启后可能会占用更多内存(大量歌曲数据)和带宽(会同时发送多个请求获取歌单下歌曲数据)
|
# 是否显示歌单下所有歌曲,默认不开启,仅获取歌单前1000首,开启后可能会占用更多内存(大量歌曲数据)和带宽(会同时发送多个请求获取歌单下歌曲数据)
|
||||||
@@ -78,7 +78,7 @@ engine=mpd
|
|||||||
# mpd配置
|
# mpd配置
|
||||||
mpdBin=mpd
|
mpdBin=mpd
|
||||||
# !!!注意!!! 一定要在配置文件中设置pid_file,否则在退出时不会kill掉mpd进程
|
# !!!注意!!! 一定要在配置文件中设置pid_file,否则在退出时不会kill掉mpd进程
|
||||||
mpdConfigFile=/home/imxyy/.config/mpd/mpd.conf
|
mpdConfigFile=/home/ccl/.config/mpd/mpd.conf
|
||||||
mpdNetwork=tcp
|
mpdNetwork=tcp
|
||||||
mpdAddr=127.0.0.1:6600
|
mpdAddr=127.0.0.1:6600
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
bind_to_address "127.0.0.1"
|
bind_to_address "127.0.0.1"
|
||||||
port "6600"
|
port "6600"
|
||||||
music_directory "/home/imxyy/Music/go-musicfox/.cache"
|
music_directory "/home/ccl/Music/go-musicfox/.cache"
|
||||||
pid_file "/home/imxyy/.config/mpd/mpd.pid"
|
pid_file "/home/ccl/.config/mpd/mpd.pid"
|
||||||
db_file "/home/imxyy/.config/mpd/mpd.db"
|
db_file "/home/ccl/.config/mpd/mpd.db"
|
||||||
|
|
||||||
input {
|
input {
|
||||||
plugin "file"
|
plugin "file"
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ lib.my.makeSwitch {
|
|||||||
};
|
};
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
dotDir = ".config/zsh";
|
dotDir = "${config.my.home.xdg.configHome}/zsh";
|
||||||
history = {
|
history = {
|
||||||
path = "${stateHome}/zsh_history";
|
path = "${stateHome}/zsh_history";
|
||||||
ignorePatterns = [
|
ignorePatterns = [
|
||||||
|
|||||||
@@ -38,8 +38,8 @@ lib.my.makeSwitch {
|
|||||||
# Deduplicate and optimize nix store
|
# Deduplicate and optimize nix store
|
||||||
auto-optimise-store = true;
|
auto-optimise-store = true;
|
||||||
substituters = [
|
substituters = [
|
||||||
"https://mirror.sjtu.edu.cn/nix-channels/store"
|
|
||||||
"https://mirrors.sjtug.sjtu.edu.cn/nix-channels/store"
|
"https://mirrors.sjtug.sjtu.edu.cn/nix-channels/store"
|
||||||
|
# "https://mirror.sjtu.edu.cn/nix-channels/store"
|
||||||
"https://mirrors.ustc.edu.cn/nix-channels/store"
|
"https://mirrors.ustc.edu.cn/nix-channels/store"
|
||||||
"https://nix-community.cachix.org"
|
"https://nix-community.cachix.org"
|
||||||
"https://cache.nixos.org"
|
"https://cache.nixos.org"
|
||||||
|
|||||||
@@ -22,6 +22,11 @@
|
|||||||
cage.__output.patches.__append = [ ./cage-specify-output-name.patch ];
|
cage.__output.patches.__append = [ ./cage-specify-output-name.patch ];
|
||||||
matrix-synapse.__assign = final.stable.matrix-synapse;
|
matrix-synapse.__assign = final.stable.matrix-synapse;
|
||||||
bottles.__input.removeWarningPopup.__assign = true;
|
bottles.__input.removeWarningPopup.__assign = true;
|
||||||
|
vscode.__output.preFixup.__append = ''
|
||||||
|
gappsWrapperArgs+=(
|
||||||
|
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--wayland-text-input-version=3}}"
|
||||||
|
)
|
||||||
|
'';
|
||||||
vscodium.__output.preFixup.__append = ''
|
vscodium.__output.preFixup.__append = ''
|
||||||
gappsWrapperArgs+=(
|
gappsWrapperArgs+=(
|
||||||
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--wayland-text-input-version=3}}"
|
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--wayland-text-input-version=3}}"
|
||||||
|
|||||||
Reference in New Issue
Block a user