Compare commits
15 Commits
nixbsd
...
859feb0b61
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
859feb0b61 | ||
|
|
d0504bf98f
|
||
|
|
f1d6ae3f1b | ||
|
|
85815fddfd | ||
|
|
5680e566bc | ||
|
|
3bbaeaf2af | ||
|
|
1845b1ac30
|
||
|
|
4a772b7276
|
||
|
|
0e231428df
|
||
|
|
27b5c0c9ab
|
||
|
|
54e97da71d
|
||
|
|
58c78c50e6
|
||
|
|
e2ed4013c5
|
||
|
|
3aefe7c0b5
|
||
|
|
a2485dcfe0
|
@@ -36,6 +36,7 @@ in
|
||||
./roles/emacs
|
||||
./roles/emulate_isa
|
||||
./roles/esim
|
||||
./roles/exfat
|
||||
./roles/firefox
|
||||
./roles/firewall
|
||||
./roles/flux
|
||||
@@ -117,14 +118,14 @@ in
|
||||
nix.settings.experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
"ca-derivations"
|
||||
# "ca-derivations"
|
||||
# "blake3-hashes"
|
||||
# "git-hashing"
|
||||
];
|
||||
nix.settings.trusted-users = [ "@wheel" ];
|
||||
nix.settings.connect-timeout = 5;
|
||||
nix.settings.min-free = 128000000;
|
||||
nix.settings.max-free = 1000000000;
|
||||
nix.settings.min-free = 5 * 1024 * 1024 * 1024; # Kick off garbage collect if space for nix store is less than 5 GiB
|
||||
nix.settings.max-free = 10 * 1024 * 1024 * 1024; # Run that garbage collect until at least 10 GiB are free.
|
||||
nix.settings.fallback = true;
|
||||
nix.settings.warn-dirty = false;
|
||||
nix.settings.fsync-metadata = true;
|
||||
@@ -246,31 +247,31 @@ in
|
||||
glew = (final.glew.override { enableEGL = false; });
|
||||
};
|
||||
})
|
||||
(disableTests "onetbb") # oneTBB tests hang forever on machines with a single core (like my build virtual machine) https://github.com/uxlfoundation/oneTBB/issues/1557
|
||||
(disableTests "aws-c-common") # aws-c-common tests time out on my build virtual machine but run fine on my laptop.
|
||||
(disableOptimizations "onnxruntime") # QuantizeLinearOpTest test failing.
|
||||
(final: prev: {
|
||||
fwupd = prev.fwupd.overrideAttrs (
|
||||
rpcs3 = prev.rpcs3.overrideAttrs (
|
||||
finalAttrs: prevAttrs: {
|
||||
version = "2.1.5";
|
||||
version = "0.0.42-19843";
|
||||
|
||||
src = final.fetchFromGitHub {
|
||||
owner = "fwupd";
|
||||
repo = "fwupd";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-DzQ+N99ZmFRqZc2rN6PSqmoIMXUyrE8Kkn+KnT/AWPc=";
|
||||
owner = "RPCS3";
|
||||
repo = "rpcs3";
|
||||
rev = "6567a5a2f8ab47a89db395d6b47a7b59b23d6960";
|
||||
postCheckout = ''
|
||||
cd $out/3rdparty
|
||||
git submodule update --init \
|
||||
fusion/fusion asmjit/asmjit yaml-cpp/yaml-cpp SoundTouch/soundtouch stblib/stb \
|
||||
feralinteractive/feralinteractive wolfssl/wolfssl
|
||||
'';
|
||||
hash = "sha256-a1c1+Ui7XyHFTGEZAgRuJasCzQqr2PZNTlwaDUWVb18=";
|
||||
};
|
||||
|
||||
patches = [ ];
|
||||
}
|
||||
);
|
||||
})
|
||||
(disableTests "onetbb") # oneTBB tests hang forever on machines with a single core (like my build virtual machine) https://github.com/uxlfoundation/oneTBB/issues/1557
|
||||
(disableTests "aws-c-common") # aws-c-common tests time out on my build virtual machine but run fine on my laptop.
|
||||
|
||||
# Works but probably sets python2's scipy to be python3:
|
||||
#
|
||||
# (final: prev: {
|
||||
# pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
|
||||
# (python-final: python-prev: {
|
||||
# scipy = final.unoptimized.python3Packages.scipy;
|
||||
# })
|
||||
# ];
|
||||
# })
|
||||
];
|
||||
|
||||
# This option defines the first version of NixOS you have installed on this particular machine,
|
||||
|
||||
39
nix/configuration/flake.lock
generated
39
nix/configuration/flake.lock
generated
@@ -22,11 +22,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1780894562,
|
||||
"narHash": "sha256-c3430xwxwhHipl3jigUGMMBfpaMylDqytW/kdmB3ZGs=",
|
||||
"lastModified": 1781152676,
|
||||
"narHash": "sha256-RxWs5ND31KzTG7wvMM+PMfUjyNpmIEr999lqNARaM5o=",
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"rev": "24fed06cac83bcc44ac8efbb57cab1a82fa0bedc",
|
||||
"rev": "ff8702b4de27f72b4c78573dfb89ec74e36abdf1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -170,11 +170,11 @@
|
||||
"rust-overlay": "rust-overlay_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1785893798,
|
||||
"narHash": "sha256-69nKdvM+E/66sj9R2HEK8i0p0TOt/0MSqfXiZjcJ9nI=",
|
||||
"lastModified": 1785893730,
|
||||
"narHash": "sha256-K3pjEDafWrpfC1dc14icLxx9tWx4c/dfKTeiDYoZU7Q=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "6386febdb81eb1e072ad7cb568019f06618008fe",
|
||||
"revCount": 41,
|
||||
"rev": "83f05b36778dd90d4e15e0d020685d9388cbaea1",
|
||||
"revCount": 39,
|
||||
"type": "git",
|
||||
"url": "https://code.fizz.buzz/talexander/nix_builder.git"
|
||||
},
|
||||
@@ -185,11 +185,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1780749050,
|
||||
"narHash": "sha256-3av0pIjlOWQ6rDbNOmpUSvbNnJkGORQKKjb4LtCZsIY=",
|
||||
"lastModified": 1787498568,
|
||||
"narHash": "sha256-9i/VTdusq/+NM/tz+J1Re+ojkMB8MBf0QshnYfzHz30=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a799d3e3886da994fa307f817a6bc705ae538eeb",
|
||||
"rev": "56c02bc00adcf003215cc4bd996d6efaf4cff188",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -199,22 +199,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-google": {
|
||||
"locked": {
|
||||
"lastModified": 1779893571,
|
||||
"narHash": "sha256-wiwMyVCtmjRjlFCe2zaumCE6LRV9GzzN0ZH25NQkbAU=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "45f6cfaa4605b706c870e75bd74bdb5e97eee11e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "45f6cfaa4605b706c870e75bd74bdb5e97eee11e",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1730741070,
|
||||
@@ -264,8 +248,7 @@
|
||||
"impermanence": "impermanence",
|
||||
"lanzaboote": "lanzaboote",
|
||||
"nix_builder": "nix_builder",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-google": "nixpkgs-google"
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
nixpkgs-google.url = "github:NixOS/nixpkgs/45f6cfaa4605b706c870e75bd74bdb5e97eee11e";
|
||||
lanzaboote = {
|
||||
url = "github:nix-community/lanzaboote/v0.4.2";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
@@ -39,7 +38,6 @@
|
||||
{
|
||||
self,
|
||||
nixpkgs,
|
||||
nixpkgs-google,
|
||||
disko,
|
||||
impermanence,
|
||||
lanzaboote,
|
||||
@@ -99,9 +97,6 @@
|
||||
hostPlatform.gcc.arch = "default";
|
||||
hostPlatform.gcc.tune = "default";
|
||||
};
|
||||
google = import nixpkgs-google {
|
||||
system = prev.stdenv.hostPlatform.system;
|
||||
};
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
@@ -94,6 +94,7 @@
|
||||
me.emacs_flavor = "full";
|
||||
me.emulate_isa.enable = true;
|
||||
me.esim.enable = true;
|
||||
me.exfat.enable = true;
|
||||
me.firefox.enable = true;
|
||||
me.firewall.enable = true;
|
||||
me.flux.enable = true;
|
||||
@@ -164,7 +165,7 @@
|
||||
me.zrepl.enable = true;
|
||||
me.zsh.enable = true;
|
||||
|
||||
me.sm64ex.enable = true;
|
||||
me.sm64ex.enable = false;
|
||||
me.shipwright.enable = false;
|
||||
me.ship2harkinian.enable = true;
|
||||
};
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
config = {
|
||||
me.distributed_build.enable = true;
|
||||
me.distributed_build.machines.quark = {
|
||||
enable_build = false;
|
||||
enable_build = true;
|
||||
enable_substituter = false;
|
||||
additional_config = {
|
||||
speedFactor = 2;
|
||||
|
||||
@@ -159,7 +159,7 @@
|
||||
me.zrepl.enable = true;
|
||||
me.zsh.enable = true;
|
||||
|
||||
me.sm64ex.enable = true;
|
||||
me.sm64ex.enable = false;
|
||||
me.shipwright.enable = false;
|
||||
me.ship2harkinian.enable = true;
|
||||
};
|
||||
|
||||
26
nix/configuration/roles/exfat/default.nix
Normal file
26
nix/configuration/roles/exfat/default.nix
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [ ];
|
||||
|
||||
options.me = {
|
||||
exfat.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
example = true;
|
||||
description = "Whether we want to install exfat.";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.me.exfat.enable {
|
||||
# boot.supportedFilesystems = [ "exfat" ];
|
||||
environment.systemPackages = with pkgs; [
|
||||
exfatprogs
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -18,7 +18,7 @@
|
||||
};
|
||||
|
||||
config = lib.mkIf config.me.gcloud.enable {
|
||||
environment.systemPackages = with pkgs.google; [
|
||||
environment.systemPackages = with pkgs; [
|
||||
(google-cloud-sdk.withExtraComponents [ google-cloud-sdk.components.gke-gcloud-auth-plugin ])
|
||||
];
|
||||
|
||||
|
||||
@@ -61,6 +61,7 @@
|
||||
systemd.services."build-cache" =
|
||||
let
|
||||
enabled_targets = [
|
||||
"wip"
|
||||
"odo"
|
||||
"odo_update"
|
||||
"odowork"
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
output_directory = "/home/nixworker/persist/nix_builder"
|
||||
|
||||
[[targets]]
|
||||
name = "wip"
|
||||
repo = "https://code.fizz.buzz/talexander/machine_setup.git"
|
||||
branch = "wip"
|
||||
path = "nix/configuration"
|
||||
attr = "nixosConfigurations.odo.config.system.build.toplevel"
|
||||
|
||||
[[targets]]
|
||||
name = "odo"
|
||||
repo = "https://code.fizz.buzz/talexander/machine_setup.git"
|
||||
@@ -180,10 +187,10 @@ output_directory = "/home/nixworker/persist/nix_builder"
|
||||
|
||||
[[targets]]
|
||||
name = "nixbsd"
|
||||
repo = "https://github.com/nixos-bsd/nixbsd.git"
|
||||
revision = "2b512eda58e6d77378bd20d6027802b158942e24"
|
||||
path = "."
|
||||
attr = "base.vmClosureInfo"
|
||||
repo = "https://code.fizz.buzz/talexander/machine_setup.git"
|
||||
branch = "nixbsd"
|
||||
path = "nix/nixbsd"
|
||||
attr = "computer.vm"
|
||||
|
||||
[[targets]]
|
||||
name = "nix_builder_develop"
|
||||
|
||||
@@ -14,30 +14,12 @@ let
|
||||
full = {
|
||||
PREEMPT_DYNAMIC = yes;
|
||||
PREEMPT = yes;
|
||||
PREEMPT_VOLUNTARY = lib.mkForce no;
|
||||
PREEMPT_LAZY = lib.mkForce no;
|
||||
PREEMPT_NONE = no;
|
||||
};
|
||||
lazy = {
|
||||
PREEMPT_DYNAMIC = yes;
|
||||
PREEMPT = no;
|
||||
PREEMPT_VOLUNTARY = lib.mkForce no;
|
||||
PREEMPT_LAZY = yes;
|
||||
PREEMPT_NONE = no;
|
||||
};
|
||||
voluntary = {
|
||||
PREEMPT_DYNAMIC = no;
|
||||
PREEMPT = no;
|
||||
PREEMPT_VOLUNTARY = yes;
|
||||
PREEMPT_LAZY = lib.mkForce no;
|
||||
PREEMPT_NONE = no;
|
||||
};
|
||||
none = {
|
||||
PREEMPT_DYNAMIC = no;
|
||||
PREEMPT = no;
|
||||
PREEMPT_VOLUNTARY = lib.mkForce no;
|
||||
PREEMPT_LAZY = lib.mkForce no;
|
||||
PREEMPT_NONE = yes;
|
||||
};
|
||||
};
|
||||
tick_hz =
|
||||
@@ -99,16 +81,14 @@ let
|
||||
TRANSPARENT_HUGEPAGE_MADVISE = yes;
|
||||
};
|
||||
};
|
||||
common_config =
|
||||
with lib.kernel;
|
||||
{
|
||||
common_config = with lib.kernel; {
|
||||
# Google's BBRv3 TCP congestion Control
|
||||
TCP_CONG_BBR = yes;
|
||||
DEFAULT_BBR = yes;
|
||||
};
|
||||
flavors = {
|
||||
server = lib.mkMerge [
|
||||
preemption_type.none
|
||||
preemption_type.lazy
|
||||
tick_hz."300"
|
||||
performance_governor.default
|
||||
tick_rate.tickless
|
||||
@@ -142,7 +122,8 @@ in
|
||||
|
||||
kernel.version = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "linux"; # LTS
|
||||
# default = "linux"; # LTS
|
||||
default = "linux_7_2"; # LTS
|
||||
example = "linux_6_18";
|
||||
description = "What version of the kernl should we use.";
|
||||
};
|
||||
|
||||
@@ -25,8 +25,8 @@
|
||||
nixpkgs.overlays = [
|
||||
(final: prev: {
|
||||
tex = (
|
||||
pkgs.texlive.combine {
|
||||
inherit (pkgs.texlive)
|
||||
pkgs.texliveSmall.withPackages (
|
||||
ps: with ps; [
|
||||
scheme-basic
|
||||
dvisvgm
|
||||
dvipng # for preview and export as html in org-mode
|
||||
@@ -44,8 +44,8 @@
|
||||
upquote # emacs org-mode pdf export
|
||||
lineno # emacs org-mode pdf export
|
||||
beamer # emacs org-mode presentation pdf export
|
||||
;
|
||||
}
|
||||
]
|
||||
)
|
||||
);
|
||||
})
|
||||
];
|
||||
|
||||
@@ -34,7 +34,9 @@
|
||||
# Write config files in /etc/containers
|
||||
virtualisation.containers.enable = true;
|
||||
# By default this includes "quay.io" which leads to prompting for which registry to download from.
|
||||
virtualisation.containers.registries.search = [ "docker.io" ];
|
||||
virtualisation.containers.registries.settings = {
|
||||
unqualified-search-registries = [ "docker.io" ];
|
||||
};
|
||||
virtualisation = {
|
||||
podman = {
|
||||
enable = true;
|
||||
|
||||
@@ -38,7 +38,7 @@ in
|
||||
};
|
||||
};
|
||||
Miscellaneous = {
|
||||
"Pause emulation on RPCS3 focus loss" = true;
|
||||
"Pause emulation on RPCS3 focus loss" = false;
|
||||
"Start games in fullscreen mode" = true;
|
||||
"Pause Emulation During Home Menu" = false; # true makes the home menu slow
|
||||
};
|
||||
@@ -53,7 +53,10 @@ in
|
||||
rpcs3
|
||||
];
|
||||
|
||||
allowedUnfree = [ "rpcs3" ];
|
||||
allowedUnfree = [
|
||||
"rpcs3"
|
||||
"corefonts"
|
||||
];
|
||||
|
||||
security.pam.loginLimits = [
|
||||
{
|
||||
@@ -70,6 +73,10 @@ in
|
||||
}
|
||||
];
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
corefonts # Needed for Arial, otherwise launching games fails.
|
||||
];
|
||||
|
||||
me.install.user.talexander.file = {
|
||||
".config/rpcs3/config.yml" = lib.mkIf (config.me.rpcs3.config != null) {
|
||||
source = rpcs3_config_yaml;
|
||||
@@ -81,6 +88,10 @@ in
|
||||
# Demon's Souls per-game config.
|
||||
source = ./files/config_BLUS30443.yml;
|
||||
};
|
||||
".config/rpcs3/custom_configs/config_BLUS30421.yml" = {
|
||||
# The Lord of the Rings The War in the North per-game config.
|
||||
source = ./files/config_BLUS30421.yml;
|
||||
};
|
||||
".config/rpcs3/patches/patch.yml" = {
|
||||
# All of the available patches.
|
||||
source = ./files/patch.yml;
|
||||
|
||||
14
nix/configuration/roles/rpcs3/files/config_BLUS30421.yml
Normal file
14
nix/configuration/roles/rpcs3/files/config_BLUS30421.yml
Normal file
@@ -0,0 +1,14 @@
|
||||
Core:
|
||||
SPU Block Size: Safe
|
||||
Video:
|
||||
Write Color Buffers: true
|
||||
Minimum Scalable Dimension: 640
|
||||
Net:
|
||||
Internet enabled: Connected
|
||||
IP address: 0.0.0.0
|
||||
Bind address: 0.0.0.0
|
||||
DNS address: 8.8.8.8
|
||||
IP swap list: ""
|
||||
UPNP Enabled: false
|
||||
PSN status: RPCN
|
||||
PSN Country: us
|
||||
@@ -41,7 +41,7 @@
|
||||
nix.settings.experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
"ca-derivations"
|
||||
# "ca-derivations"
|
||||
# "blake3-hashes"
|
||||
# "git-hashing"
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user