Compare commits
11 Commits
nixbsd
...
087225be45
| Author | SHA1 | Date | |
|---|---|---|---|
|
087225be45
|
|||
|
25c32cb65d
|
|||
|
4fc2befee5
|
|||
|
33723a5315
|
|||
|
235e6c8e2d
|
|||
|
0450cf56f4
|
|||
|
177c6245ee
|
|||
|
79f40c37df
|
|||
|
6fe528e509
|
|||
|
7a05c3221f
|
|||
|
14088dfd01
|
Generated
+60
@@ -220,6 +220,23 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"linux-ntfs": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1778111793,
|
||||||
|
"narHash": "sha256-E+f1utc2Az4ZmqvkZ8lDgHpXsheJobUMbLff1vdpQHE=",
|
||||||
|
"owner": "Lumpiasty",
|
||||||
|
"repo": "linux-ntfs",
|
||||||
|
"rev": "7fbf82056e26d99bfa4d5aab87ce287cd8c8cbef",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Lumpiasty",
|
||||||
|
"ref": "main",
|
||||||
|
"repo": "linux-ntfs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nix-flatpak": {
|
"nix-flatpak": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767983141,
|
"lastModified": 1767983141,
|
||||||
@@ -236,6 +253,26 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nix-skills": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1775452536,
|
||||||
|
"narHash": "sha256-1MjzL/U5OtALBmsel4YHVSK9jr2c/YP4eXfi7lA5C+o=",
|
||||||
|
"owner": "sudosubin",
|
||||||
|
"repo": "nix-skills",
|
||||||
|
"rev": "c2d1958a5cdd7ee83f552c046fbc7cb43e8171e4",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "sudosubin",
|
||||||
|
"repo": "nix-skills",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nix-sweep": {
|
"nix-sweep": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"cf": "cf",
|
"cf": "cf",
|
||||||
@@ -291,6 +328,27 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"ntfsplus": {
|
||||||
|
"inputs": {
|
||||||
|
"linux-ntfs": "linux-ntfs",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1774317576,
|
||||||
|
"narHash": "sha256-HSDFaDLvfS/NqJlXbHh9135DEpqH6JrNuWqbu3YPcTg=",
|
||||||
|
"owner": "cmspam",
|
||||||
|
"repo": "ntfsplus-flake",
|
||||||
|
"rev": "e22d1bcbac31b4e6484d32c503396e8184650215",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "cmspam",
|
||||||
|
"repo": "ntfsplus-flake",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"peerix": {
|
"peerix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat_2",
|
"flake-compat": "flake-compat_2",
|
||||||
@@ -366,9 +424,11 @@
|
|||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"lanzaboote": "lanzaboote",
|
"lanzaboote": "lanzaboote",
|
||||||
"nix-flatpak": "nix-flatpak",
|
"nix-flatpak": "nix-flatpak",
|
||||||
|
"nix-skills": "nix-skills",
|
||||||
"nix-sweep": "nix-sweep",
|
"nix-sweep": "nix-sweep",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
|
"ntfsplus": "ntfsplus",
|
||||||
"peerix": "peerix",
|
"peerix": "peerix",
|
||||||
"plasma-manager": "plasma-manager"
|
"plasma-manager": "plasma-manager"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,6 +34,15 @@
|
|||||||
url = "github:Lumpiasty/acer-wmi-ext/main";
|
url = "github:Lumpiasty/acer-wmi-ext/main";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
ntfsplus = {
|
||||||
|
url = "github:cmspam/ntfsplus-flake";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
inputs.linux-ntfs.url = "github:Lumpiasty/linux-ntfs/main";
|
||||||
|
};
|
||||||
|
nix-skills = {
|
||||||
|
url = "github:sudosubin/nix-skills";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixos-hardware, ... }@inputs:
|
outputs = { self, nixos-hardware, ... }@inputs:
|
||||||
@@ -48,4 +57,4 @@
|
|||||||
gaming-pc = mkNixosSystem {} hosts/gaming-pc.nix;
|
gaming-pc = mkNixosSystem {} hosts/gaming-pc.nix;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
+31
-10
@@ -21,6 +21,20 @@
|
|||||||
pkgs.vscode-extensions.arrterian.nix-env-selector
|
pkgs.vscode-extensions.arrterian.nix-env-selector
|
||||||
pkgs.vscode-extensions.jnoortheen.nix-ide
|
pkgs.vscode-extensions.jnoortheen.nix-ide
|
||||||
];
|
];
|
||||||
|
# profiles.default.userSettings = {
|
||||||
|
# "claudeCode.claudeProcessWrapper" = "${pkgs.claude-code}/bin/claude-code";
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
|
||||||
|
# Just a fixed-location executable that launches claude code
|
||||||
|
# so we can point vscode's extenstion at it, not the nix store path
|
||||||
|
# remove it once we configure vscode using nix
|
||||||
|
home.file.".config/claude-code-wrapper" = {
|
||||||
|
text = ''
|
||||||
|
#!${pkgs.stdenv.shell}
|
||||||
|
exec ${pkgs.claude-code}/bin/claude "$@"
|
||||||
|
'';
|
||||||
|
executable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
@@ -46,16 +60,6 @@
|
|||||||
nodejs_24
|
nodejs_24
|
||||||
codex
|
codex
|
||||||
claude-code
|
claude-code
|
||||||
(
|
|
||||||
# Wrapping opencode to set the OPENCODE_ENABLE_EXA environment variable
|
|
||||||
runCommand "opencode" {
|
|
||||||
buildInputs = [ makeWrapper ];
|
|
||||||
} ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
makeWrapper ${pkgs.opencode}/bin/opencode $out/bin/opencode \
|
|
||||||
--set OPENCODE_ENABLE_EXA "1"
|
|
||||||
''
|
|
||||||
)
|
|
||||||
winbox4
|
winbox4
|
||||||
amdgpu_top
|
amdgpu_top
|
||||||
dua
|
dua
|
||||||
@@ -114,5 +118,22 @@
|
|||||||
fi
|
fi
|
||||||
''
|
''
|
||||||
);
|
);
|
||||||
|
|
||||||
|
programs.opencode = {
|
||||||
|
enable = true;
|
||||||
|
package = (
|
||||||
|
# Wrapping opencode to set the OPENCODE_ENABLE_EXA environment variable
|
||||||
|
pkgs.runCommand "opencode" {
|
||||||
|
buildInputs = [ pkgs.makeWrapper ];
|
||||||
|
} ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
makeWrapper ${pkgs.opencode}/bin/opencode $out/bin/opencode \
|
||||||
|
--set OPENCODE_ENABLE_EXA "1"
|
||||||
|
''
|
||||||
|
);
|
||||||
|
skills = with pkgs.skills; {
|
||||||
|
caveman = majiayu000."claude-skill-registry".caveman + "/";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-1
@@ -6,7 +6,16 @@
|
|||||||
config = lib.mkIf (config.lumpiastyHome.enablePcApps && osConfig.lumpiasty.pc) {
|
config = lib.mkIf (config.lumpiastyHome.enablePcApps && osConfig.lumpiasty.pc) {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
vesktop
|
vesktop
|
||||||
spotify
|
# Manual update, not yet in nixpkgs as for now
|
||||||
|
(spotify.overrideAttrs (old: rec {
|
||||||
|
version = "1.2.86.502.g8cd7fb22";
|
||||||
|
rev = "94";
|
||||||
|
src = fetchurl {
|
||||||
|
name = "spotify-${version}-${rev}.snap";
|
||||||
|
url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap";
|
||||||
|
hash = "sha256-XhwyaObck6viIvDRXEztlSLja5fsfw5HgHUUQzMehLI=";
|
||||||
|
};
|
||||||
|
}))
|
||||||
pass-wayland
|
pass-wayland
|
||||||
teamspeak6-client
|
teamspeak6-client
|
||||||
easyeffects
|
easyeffects
|
||||||
|
|||||||
+6
-1
@@ -94,7 +94,7 @@
|
|||||||
"/var/games" =
|
"/var/games" =
|
||||||
{
|
{
|
||||||
device = "/dev/disk/by-uuid/8A3094A230949733"; # "Shared" NTFS partition
|
device = "/dev/disk/by-uuid/8A3094A230949733"; # "Shared" NTFS partition
|
||||||
fsType = "ntfs-3g";
|
fsType = "ntfs";
|
||||||
options = [
|
options = [
|
||||||
"uid=1000" "gid=100" # My user account
|
"uid=1000" "gid=100" # My user account
|
||||||
"nofail" # Don't fail boot if failed to mount because windows left it dirty
|
"nofail" # Don't fail boot if failed to mount because windows left it dirty
|
||||||
@@ -102,6 +102,11 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Use ntfs-plus instead driver
|
||||||
|
services.ntfsplus.enable = true;
|
||||||
|
# Force disable ntfs-3g driver
|
||||||
|
boot.supportedFilesystems.ntfs = lib.mkForce false;
|
||||||
|
|
||||||
# Config modules
|
# Config modules
|
||||||
lumpiasty = {
|
lumpiasty = {
|
||||||
pc = true;
|
pc = true;
|
||||||
|
|||||||
@@ -9,6 +9,8 @@
|
|||||||
nix-sweep,
|
nix-sweep,
|
||||||
peerix,
|
peerix,
|
||||||
acer-wmi-ext,
|
acer-wmi-ext,
|
||||||
|
ntfsplus,
|
||||||
|
nix-skills,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
hardwareConfig: hostConfig:
|
hardwareConfig: hostConfig:
|
||||||
@@ -25,6 +27,7 @@ nixpkgs.lib.nixosSystem {
|
|||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
claude-code.overlays.default
|
claude-code.overlays.default
|
||||||
acer-wmi-ext.overlays.default
|
acer-wmi-ext.overlays.default
|
||||||
|
nix-skills.overlays.default
|
||||||
];
|
];
|
||||||
nix.settings = {
|
nix.settings = {
|
||||||
substituters = [ "https://claude-code.cachix.org" ];
|
substituters = [ "https://claude-code.cachix.org" ];
|
||||||
@@ -36,6 +39,7 @@ nixpkgs.lib.nixosSystem {
|
|||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
nix-sweep.nixosModules.default
|
nix-sweep.nixosModules.default
|
||||||
peerix.nixosModules.peerix
|
peerix.nixosModules.peerix
|
||||||
|
ntfsplus.nixosModules.default
|
||||||
../modules
|
../modules
|
||||||
hostConfig
|
hostConfig
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
services.xserver.enable = true;
|
services.xserver.enable = true;
|
||||||
|
|
||||||
# Enable the KDE Plasma Desktop Environment.
|
# Enable the KDE Plasma Desktop Environment.
|
||||||
services.displayManager.sddm.enable = true;
|
services.displayManager.plasma-login-manager.enable = true;
|
||||||
services.desktopManager.plasma6.enable = true;
|
services.desktopManager.plasma6.enable = true;
|
||||||
|
|
||||||
# Configure keymap in X11
|
# Configure keymap in X11
|
||||||
|
|||||||
@@ -2,9 +2,8 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
config = lib.mkIf config.boot.zfs.enabled {
|
config = lib.mkIf config.boot.zfs.enabled {
|
||||||
# Set ARC max to 5% of physical RAM at boot
|
|
||||||
systemd.services."zfs-arc-limit" = {
|
systemd.services."zfs-arc-limit" = {
|
||||||
description = "Set ZFS ARC max to 5% of physical RAM";
|
description = "Set ZFS ARC max to 20% of physical RAM";
|
||||||
# Ensure the module is loaded before we write to /sys
|
# Ensure the module is loaded before we write to /sys
|
||||||
after = [ "systemd-modules-load.service" ];
|
after = [ "systemd-modules-load.service" ];
|
||||||
# Run early, but it’s fine if ZFS has already imported; the limit still applies
|
# Run early, but it’s fine if ZFS has already imported; the limit still applies
|
||||||
@@ -15,8 +14,8 @@
|
|||||||
# Total RAM in kB
|
# Total RAM in kB
|
||||||
mem_kb=$(awk '/MemTotal:/ {print $2}' /proc/meminfo)
|
mem_kb=$(awk '/MemTotal:/ {print $2}' /proc/meminfo)
|
||||||
echo "DEBUG: Total RAM: $mem_kb kB"
|
echo "DEBUG: Total RAM: $mem_kb kB"
|
||||||
# 5%, in bytes
|
# 20%, in bytes
|
||||||
arc_max_bytes=$(( mem_kb * 1024 / 100 * 5 ))
|
arc_max_bytes=$(( mem_kb * 1024 / 100 * 20 ))
|
||||||
echo "DEBUG: Setting ZFS ARC max to: $arc_max_bytes bytes"
|
echo "DEBUG: Setting ZFS ARC max to: $arc_max_bytes bytes"
|
||||||
param="/sys/module/zfs/parameters/zfs_arc_max"
|
param="/sys/module/zfs/parameters/zfs_arc_max"
|
||||||
if [ -w "$param" ]; then
|
if [ -w "$param" ]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user