Compare commits
1 Commits
c2619b4344
...
nixbsd
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1fc31fbfea
|
@@ -36,7 +36,6 @@ in
|
|||||||
./roles/emacs
|
./roles/emacs
|
||||||
./roles/emulate_isa
|
./roles/emulate_isa
|
||||||
./roles/esim
|
./roles/esim
|
||||||
./roles/exfat
|
|
||||||
./roles/firefox
|
./roles/firefox
|
||||||
./roles/firewall
|
./roles/firewall
|
||||||
./roles/flux
|
./roles/flux
|
||||||
@@ -64,7 +63,6 @@ in
|
|||||||
./roles/media
|
./roles/media
|
||||||
./roles/memtest86
|
./roles/memtest86
|
||||||
./roles/minimal_base
|
./roles/minimal_base
|
||||||
./roles/mitmproxy
|
|
||||||
./roles/network
|
./roles/network
|
||||||
./roles/nix_index
|
./roles/nix_index
|
||||||
./roles/nix_repl
|
./roles/nix_repl
|
||||||
@@ -119,14 +117,14 @@ in
|
|||||||
nix.settings.experimental-features = [
|
nix.settings.experimental-features = [
|
||||||
"nix-command"
|
"nix-command"
|
||||||
"flakes"
|
"flakes"
|
||||||
# "ca-derivations"
|
"ca-derivations"
|
||||||
# "blake3-hashes"
|
# "blake3-hashes"
|
||||||
# "git-hashing"
|
# "git-hashing"
|
||||||
];
|
];
|
||||||
nix.settings.trusted-users = [ "@wheel" ];
|
nix.settings.trusted-users = [ "@wheel" ];
|
||||||
nix.settings.connect-timeout = 5;
|
nix.settings.connect-timeout = 5;
|
||||||
nix.settings.min-free = 5 * 1024 * 1024 * 1024; # Kick off garbage collect if space for nix store is less than 5 GiB
|
nix.settings.min-free = 128000000;
|
||||||
nix.settings.max-free = 10 * 1024 * 1024 * 1024; # Run that garbage collect until at least 10 GiB are free.
|
nix.settings.max-free = 1000000000;
|
||||||
nix.settings.fallback = true;
|
nix.settings.fallback = true;
|
||||||
nix.settings.warn-dirty = false;
|
nix.settings.warn-dirty = false;
|
||||||
nix.settings.fsync-metadata = true;
|
nix.settings.fsync-metadata = true;
|
||||||
@@ -248,31 +246,31 @@ in
|
|||||||
glew = (final.glew.override { enableEGL = false; });
|
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: {
|
(final: prev: {
|
||||||
rpcs3 = prev.rpcs3.overrideAttrs (
|
fwupd = prev.fwupd.overrideAttrs (
|
||||||
finalAttrs: prevAttrs: {
|
finalAttrs: prevAttrs: {
|
||||||
version = "0.0.42-19843";
|
version = "2.1.5";
|
||||||
|
|
||||||
src = final.fetchFromGitHub {
|
src = final.fetchFromGitHub {
|
||||||
owner = "RPCS3";
|
owner = "fwupd";
|
||||||
repo = "rpcs3";
|
repo = "fwupd";
|
||||||
rev = "6567a5a2f8ab47a89db395d6b47a7b59b23d6960";
|
tag = finalAttrs.version;
|
||||||
postCheckout = ''
|
hash = "sha256-DzQ+N99ZmFRqZc2rN6PSqmoIMXUyrE8Kkn+KnT/AWPc=";
|
||||||
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,
|
# 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": {
|
"locked": {
|
||||||
"lastModified": 1781152676,
|
"lastModified": 1780894562,
|
||||||
"narHash": "sha256-RxWs5ND31KzTG7wvMM+PMfUjyNpmIEr999lqNARaM5o=",
|
"narHash": "sha256-c3430xwxwhHipl3jigUGMMBfpaMylDqytW/kdmB3ZGs=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "disko",
|
"repo": "disko",
|
||||||
"rev": "ff8702b4de27f72b4c78573dfb89ec74e36abdf1",
|
"rev": "24fed06cac83bcc44ac8efbb57cab1a82fa0bedc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -170,11 +170,11 @@
|
|||||||
"rust-overlay": "rust-overlay_2"
|
"rust-overlay": "rust-overlay_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1788488145,
|
"lastModified": 1785893798,
|
||||||
"narHash": "sha256-s1UY+kbLtb+5ye4GnE/HKh0idUQ0iiIkMMtGI7cDRHk=",
|
"narHash": "sha256-69nKdvM+E/66sj9R2HEK8i0p0TOt/0MSqfXiZjcJ9nI=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "8b28dfb583e094f52fd6ab70c709cc1981d8853d",
|
"rev": "6386febdb81eb1e072ad7cb568019f06618008fe",
|
||||||
"revCount": 46,
|
"revCount": 41,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://code.fizz.buzz/talexander/nix_builder.git"
|
"url": "https://code.fizz.buzz/talexander/nix_builder.git"
|
||||||
},
|
},
|
||||||
@@ -185,11 +185,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1788752844,
|
"lastModified": 1780749050,
|
||||||
"narHash": "sha256-VaWGJ6+cIYN2erfSecbRV+4ljI185Ty2wUrXyvQbgOw=",
|
"narHash": "sha256-3av0pIjlOWQ6rDbNOmpUSvbNnJkGORQKKjb4LtCZsIY=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "dc5d91f840324650bac8c379428c7037a416959a",
|
"rev": "a799d3e3886da994fa307f817a6bc705ae538eeb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -199,6 +199,22 @@
|
|||||||
"type": "github"
|
"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": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1730741070,
|
"lastModified": 1730741070,
|
||||||
@@ -248,7 +264,8 @@
|
|||||||
"impermanence": "impermanence",
|
"impermanence": "impermanence",
|
||||||
"lanzaboote": "lanzaboote",
|
"lanzaboote": "lanzaboote",
|
||||||
"nix_builder": "nix_builder",
|
"nix_builder": "nix_builder",
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs",
|
||||||
|
"nixpkgs-google": "nixpkgs-google"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rust-overlay": {
|
"rust-overlay": {
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
nixpkgs-google.url = "github:NixOS/nixpkgs/45f6cfaa4605b706c870e75bd74bdb5e97eee11e";
|
||||||
lanzaboote = {
|
lanzaboote = {
|
||||||
url = "github:nix-community/lanzaboote/v0.4.2";
|
url = "github:nix-community/lanzaboote/v0.4.2";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
@@ -38,6 +39,7 @@
|
|||||||
{
|
{
|
||||||
self,
|
self,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
|
nixpkgs-google,
|
||||||
disko,
|
disko,
|
||||||
impermanence,
|
impermanence,
|
||||||
lanzaboote,
|
lanzaboote,
|
||||||
@@ -97,6 +99,9 @@
|
|||||||
hostPlatform.gcc.arch = "default";
|
hostPlatform.gcc.arch = "default";
|
||||||
hostPlatform.gcc.tune = "default";
|
hostPlatform.gcc.tune = "default";
|
||||||
};
|
};
|
||||||
|
google = import nixpkgs-google {
|
||||||
|
system = prev.stdenv.hostPlatform.system;
|
||||||
|
};
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -94,7 +94,6 @@
|
|||||||
me.emacs_flavor = "full";
|
me.emacs_flavor = "full";
|
||||||
me.emulate_isa.enable = true;
|
me.emulate_isa.enable = true;
|
||||||
me.esim.enable = true;
|
me.esim.enable = true;
|
||||||
me.exfat.enable = true;
|
|
||||||
me.firefox.enable = true;
|
me.firefox.enable = true;
|
||||||
me.firewall.enable = true;
|
me.firewall.enable = true;
|
||||||
me.flux.enable = true;
|
me.flux.enable = true;
|
||||||
@@ -118,7 +117,6 @@
|
|||||||
me.lvfs.enable = true;
|
me.lvfs.enable = true;
|
||||||
me.media.enable = true;
|
me.media.enable = true;
|
||||||
me.memtest.enable = true;
|
me.memtest.enable = true;
|
||||||
me.mitmproxy.enable = true;
|
|
||||||
me.network.enable = true;
|
me.network.enable = true;
|
||||||
me.nix_index.enable = true;
|
me.nix_index.enable = true;
|
||||||
me.nix_repl.enable = true;
|
me.nix_repl.enable = true;
|
||||||
@@ -166,7 +164,7 @@
|
|||||||
me.zrepl.enable = true;
|
me.zrepl.enable = true;
|
||||||
me.zsh.enable = true;
|
me.zsh.enable = true;
|
||||||
|
|
||||||
me.sm64ex.enable = false;
|
me.sm64ex.enable = true;
|
||||||
me.shipwright.enable = false;
|
me.shipwright.enable = false;
|
||||||
me.ship2harkinian.enable = true;
|
me.ship2harkinian.enable = true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
config = {
|
config = {
|
||||||
me.distributed_build.enable = true;
|
me.distributed_build.enable = true;
|
||||||
me.distributed_build.machines.quark = {
|
me.distributed_build.machines.quark = {
|
||||||
enable_build = true;
|
enable_build = false;
|
||||||
enable_substituter = false;
|
enable_substituter = false;
|
||||||
additional_config = {
|
additional_config = {
|
||||||
speedFactor = 2;
|
speedFactor = 2;
|
||||||
|
|||||||
@@ -111,7 +111,6 @@
|
|||||||
me.lvfs.enable = true;
|
me.lvfs.enable = true;
|
||||||
me.media.enable = true;
|
me.media.enable = true;
|
||||||
me.memtest.enable = true;
|
me.memtest.enable = true;
|
||||||
me.mitmproxy.enable = true;
|
|
||||||
me.network.enable = true;
|
me.network.enable = true;
|
||||||
me.nix_index.enable = true;
|
me.nix_index.enable = true;
|
||||||
me.nix_repl.enable = true;
|
me.nix_repl.enable = true;
|
||||||
@@ -160,7 +159,7 @@
|
|||||||
me.zrepl.enable = true;
|
me.zrepl.enable = true;
|
||||||
me.zsh.enable = true;
|
me.zsh.enable = true;
|
||||||
|
|
||||||
me.sm64ex.enable = false;
|
me.sm64ex.enable = true;
|
||||||
me.shipwright.enable = false;
|
me.shipwright.enable = false;
|
||||||
me.ship2harkinian.enable = true;
|
me.ship2harkinian.enable = true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -72,9 +72,5 @@ in
|
|||||||
git_fix_author
|
git_fix_author
|
||||||
rsync_clone
|
rsync_clone
|
||||||
];
|
];
|
||||||
|
|
||||||
# Disable installing documentation.
|
|
||||||
documentation.doc.enable = false;
|
|
||||||
documentation.nixos.enable = false;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,26 +0,0 @@
|
|||||||
{
|
|
||||||
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
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
config = lib.mkIf (config.me.firefox.enable && config.me.graphical) {
|
config = lib.mkIf (config.me.firefox.enable && config.me.graphical) {
|
||||||
programs.firefox = {
|
programs.firefox = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = (pkgs.wrapFirefox (pkgs.firefox-unwrapped.override { withPipewire = true; }) { });
|
package = (pkgs.wrapFirefox (pkgs.firefox-unwrapped.override { pipewireSupport = true; }) { });
|
||||||
languagePacks = [ "en-US" ];
|
languagePacks = [ "en-US" ];
|
||||||
preferences = {
|
preferences = {
|
||||||
# "identity.sync.tokenserver.uri": "https://ffsync.fizz.buzz/token/1.0/sync/1.5";
|
# "identity.sync.tokenserver.uri": "https://ffsync.fizz.buzz/token/1.0/sync/1.5";
|
||||||
@@ -134,7 +134,7 @@
|
|||||||
users.talexander = {
|
users.talexander = {
|
||||||
directories = [
|
directories = [
|
||||||
{
|
{
|
||||||
directory = ".config/mozilla";
|
directory = ".mozilla";
|
||||||
user = "talexander";
|
user = "talexander";
|
||||||
group = "talexander";
|
group = "talexander";
|
||||||
mode = "0700";
|
mode = "0700";
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf config.me.gcloud.enable {
|
config = lib.mkIf config.me.gcloud.enable {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs.google; [
|
||||||
(google-cloud-sdk.withExtraComponents [ google-cloud-sdk.components.gke-gcloud-auth-plugin ])
|
(google-cloud-sdk.withExtraComponents [ google-cloud-sdk.components.gke-gcloud-auth-plugin ])
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -61,7 +61,6 @@
|
|||||||
systemd.services."build-cache" =
|
systemd.services."build-cache" =
|
||||||
let
|
let
|
||||||
enabled_targets = [
|
enabled_targets = [
|
||||||
"wip"
|
|
||||||
"odo"
|
"odo"
|
||||||
"odo_update"
|
"odo_update"
|
||||||
"odowork"
|
"odowork"
|
||||||
@@ -100,7 +99,6 @@
|
|||||||
IFS=$'\n\t'
|
IFS=$'\n\t'
|
||||||
DIR="$( cd "$( dirname "''${BASH_SOURCE[0]}" )" && pwd )"
|
DIR="$( cd "$( dirname "''${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
|
||||||
NIX_REMOTE='local?root=/.disk/root' RUST_BACKTRACE=1 RUST_LOG=nix_builder=DEBUG ${nix_builder.packages.x86_64-linux.default}/bin/nix-builder clean --config ${./files/nix_builder.toml}
|
|
||||||
NIX_REMOTE='local?root=/.disk/root' RUST_BACKTRACE=1 RUST_LOG=nix_builder=DEBUG ${nix_builder.packages.x86_64-linux.default}/bin/nix-builder build --config ${./files/nix_builder.toml} ${builtins.concatStringsSep " " build_flags}
|
NIX_REMOTE='local?root=/.disk/root' RUST_BACKTRACE=1 RUST_LOG=nix_builder=DEBUG ${nix_builder.packages.x86_64-linux.default}/bin/nix-builder build --config ${./files/nix_builder.toml} ${builtins.concatStringsSep " " build_flags}
|
||||||
'';
|
'';
|
||||||
restartIfChanged = false;
|
restartIfChanged = false;
|
||||||
|
|||||||
@@ -1,12 +1,5 @@
|
|||||||
output_directory = "/home/nixworker/persist/nix_builder"
|
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]]
|
[[targets]]
|
||||||
name = "odo"
|
name = "odo"
|
||||||
repo = "https://code.fizz.buzz/talexander/machine_setup.git"
|
repo = "https://code.fizz.buzz/talexander/machine_setup.git"
|
||||||
@@ -187,10 +180,10 @@ output_directory = "/home/nixworker/persist/nix_builder"
|
|||||||
|
|
||||||
[[targets]]
|
[[targets]]
|
||||||
name = "nixbsd"
|
name = "nixbsd"
|
||||||
repo = "https://code.fizz.buzz/talexander/machine_setup.git"
|
repo = "https://github.com/nixos-bsd/nixbsd.git"
|
||||||
branch = "nixbsd"
|
revision = "2b512eda58e6d77378bd20d6027802b158942e24"
|
||||||
path = "nix/nixbsd"
|
path = "."
|
||||||
attr = "computer.vm"
|
attr = "base.vmClosureInfo"
|
||||||
|
|
||||||
[[targets]]
|
[[targets]]
|
||||||
name = "nix_builder_develop"
|
name = "nix_builder_develop"
|
||||||
|
|||||||
@@ -14,12 +14,30 @@ let
|
|||||||
full = {
|
full = {
|
||||||
PREEMPT_DYNAMIC = yes;
|
PREEMPT_DYNAMIC = yes;
|
||||||
PREEMPT = yes;
|
PREEMPT = yes;
|
||||||
|
PREEMPT_VOLUNTARY = lib.mkForce no;
|
||||||
PREEMPT_LAZY = lib.mkForce no;
|
PREEMPT_LAZY = lib.mkForce no;
|
||||||
|
PREEMPT_NONE = no;
|
||||||
};
|
};
|
||||||
lazy = {
|
lazy = {
|
||||||
PREEMPT_DYNAMIC = yes;
|
PREEMPT_DYNAMIC = yes;
|
||||||
PREEMPT = no;
|
PREEMPT = no;
|
||||||
|
PREEMPT_VOLUNTARY = lib.mkForce no;
|
||||||
PREEMPT_LAZY = yes;
|
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 =
|
tick_hz =
|
||||||
@@ -81,14 +99,16 @@ let
|
|||||||
TRANSPARENT_HUGEPAGE_MADVISE = yes;
|
TRANSPARENT_HUGEPAGE_MADVISE = yes;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
common_config = with lib.kernel; {
|
common_config =
|
||||||
# Google's BBRv3 TCP congestion Control
|
with lib.kernel;
|
||||||
TCP_CONG_BBR = yes;
|
{
|
||||||
DEFAULT_BBR = yes;
|
# Google's BBRv3 TCP congestion Control
|
||||||
};
|
TCP_CONG_BBR = yes;
|
||||||
|
DEFAULT_BBR = yes;
|
||||||
|
};
|
||||||
flavors = {
|
flavors = {
|
||||||
server = lib.mkMerge [
|
server = lib.mkMerge [
|
||||||
preemption_type.lazy
|
preemption_type.none
|
||||||
tick_hz."300"
|
tick_hz."300"
|
||||||
performance_governor.default
|
performance_governor.default
|
||||||
tick_rate.tickless
|
tick_rate.tickless
|
||||||
@@ -122,8 +142,7 @@ in
|
|||||||
|
|
||||||
kernel.version = lib.mkOption {
|
kernel.version = lib.mkOption {
|
||||||
type = lib.types.str;
|
type = lib.types.str;
|
||||||
# default = "linux"; # LTS
|
default = "linux"; # LTS
|
||||||
default = "linux_7_2"; # LTS
|
|
||||||
example = "linux_6_18";
|
example = "linux_6_18";
|
||||||
description = "What version of the kernl should we use.";
|
description = "What version of the kernl should we use.";
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -25,8 +25,8 @@
|
|||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
(final: prev: {
|
(final: prev: {
|
||||||
tex = (
|
tex = (
|
||||||
pkgs.texliveSmall.withPackages (
|
pkgs.texlive.combine {
|
||||||
ps: with ps; [
|
inherit (pkgs.texlive)
|
||||||
scheme-basic
|
scheme-basic
|
||||||
dvisvgm
|
dvisvgm
|
||||||
dvipng # for preview and export as html in org-mode
|
dvipng # for preview and export as html in org-mode
|
||||||
@@ -44,8 +44,8 @@
|
|||||||
upquote # emacs org-mode pdf export
|
upquote # emacs org-mode pdf export
|
||||||
lineno # emacs org-mode pdf export
|
lineno # emacs org-mode pdf export
|
||||||
beamer # emacs org-mode presentation pdf export
|
beamer # emacs org-mode presentation pdf export
|
||||||
]
|
;
|
||||||
)
|
}
|
||||||
);
|
);
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [ ];
|
|
||||||
|
|
||||||
options.me = {
|
|
||||||
mitmproxy.enable = lib.mkOption {
|
|
||||||
type = lib.types.bool;
|
|
||||||
default = false;
|
|
||||||
example = true;
|
|
||||||
description = "Whether we want to install mitmproxy.";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf config.me.mitmproxy.enable {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
mitmproxy
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -6,8 +6,6 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
# Alternative DNS servers:
|
# Alternative DNS servers:
|
||||||
# "194.242.2.2#doh.mullvad.net"
|
|
||||||
# "2a07:e340::2#doh.mullvad.net"
|
|
||||||
# "1.0.0.1#cloudflare-dns.com"
|
# "1.0.0.1#cloudflare-dns.com"
|
||||||
# "1.1.1.1#cloudflare-dns.com"
|
# "1.1.1.1#cloudflare-dns.com"
|
||||||
# "2606:4700:4700::1001#cloudflare-dns.com"
|
# "2606:4700:4700::1001#cloudflare-dns.com"
|
||||||
@@ -16,10 +14,6 @@
|
|||||||
# "8.8.8.8#dns.google"
|
# "8.8.8.8#dns.google"
|
||||||
# "2001:4860:4860::8844#dns.google"
|
# "2001:4860:4860::8844#dns.google"
|
||||||
# "2001:4860:4860::8888#dns.google"
|
# "2001:4860:4860::8888#dns.google"
|
||||||
# "9.9.9.10#dns10.quad9.net"
|
|
||||||
# "149.112.112.10#dns10.quad9.net"
|
|
||||||
# "2620:fe::10#dns10.quad9.net"
|
|
||||||
# "2620:fe::fe:10#dns10.quad9.net"
|
|
||||||
|
|
||||||
let
|
let
|
||||||
patchScriptBin =
|
patchScriptBin =
|
||||||
@@ -45,10 +39,8 @@ in
|
|||||||
networking.dhcpcd.enable = lib.mkDefault false;
|
networking.dhcpcd.enable = lib.mkDefault false;
|
||||||
networking.useDHCP = lib.mkDefault false;
|
networking.useDHCP = lib.mkDefault false;
|
||||||
networking.nameservers = [
|
networking.nameservers = [
|
||||||
"9.9.9.10#dns10.quad9.net"
|
"194.242.2.2#doh.mullvad.net"
|
||||||
"149.112.112.10#dns10.quad9.net"
|
"2a07:e340::2#doh.mullvad.net"
|
||||||
"2620:fe::10#dns10.quad9.net"
|
|
||||||
"2620:fe::fe:10#dns10.quad9.net"
|
|
||||||
];
|
];
|
||||||
services.resolved = {
|
services.resolved = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -34,9 +34,7 @@
|
|||||||
# Write config files in /etc/containers
|
# Write config files in /etc/containers
|
||||||
virtualisation.containers.enable = true;
|
virtualisation.containers.enable = true;
|
||||||
# By default this includes "quay.io" which leads to prompting for which registry to download from.
|
# By default this includes "quay.io" which leads to prompting for which registry to download from.
|
||||||
virtualisation.containers.registries.settings = {
|
virtualisation.containers.registries.search = [ "docker.io" ];
|
||||||
unqualified-search-registries = [ "docker.io" ];
|
|
||||||
};
|
|
||||||
virtualisation = {
|
virtualisation = {
|
||||||
podman = {
|
podman = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
Miscellaneous = {
|
Miscellaneous = {
|
||||||
"Pause emulation on RPCS3 focus loss" = false;
|
"Pause emulation on RPCS3 focus loss" = true;
|
||||||
"Start games in fullscreen mode" = true;
|
"Start games in fullscreen mode" = true;
|
||||||
"Pause Emulation During Home Menu" = false; # true makes the home menu slow
|
"Pause Emulation During Home Menu" = false; # true makes the home menu slow
|
||||||
};
|
};
|
||||||
@@ -53,10 +53,7 @@ in
|
|||||||
rpcs3
|
rpcs3
|
||||||
];
|
];
|
||||||
|
|
||||||
allowedUnfree = [
|
allowedUnfree = [ "rpcs3" ];
|
||||||
"rpcs3"
|
|
||||||
"corefonts"
|
|
||||||
];
|
|
||||||
|
|
||||||
security.pam.loginLimits = [
|
security.pam.loginLimits = [
|
||||||
{
|
{
|
||||||
@@ -73,10 +70,6 @@ in
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
fonts.packages = with pkgs; [
|
|
||||||
corefonts # Needed for Arial, otherwise launching games fails.
|
|
||||||
];
|
|
||||||
|
|
||||||
me.install.user.talexander.file = {
|
me.install.user.talexander.file = {
|
||||||
".config/rpcs3/config.yml" = lib.mkIf (config.me.rpcs3.config != null) {
|
".config/rpcs3/config.yml" = lib.mkIf (config.me.rpcs3.config != null) {
|
||||||
source = rpcs3_config_yaml;
|
source = rpcs3_config_yaml;
|
||||||
@@ -88,10 +81,6 @@ in
|
|||||||
# Demon's Souls per-game config.
|
# Demon's Souls per-game config.
|
||||||
source = ./files/config_BLUS30443.yml;
|
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" = {
|
".config/rpcs3/patches/patch.yml" = {
|
||||||
# All of the available patches.
|
# All of the available patches.
|
||||||
source = ./files/patch.yml;
|
source = ./files/patch.yml;
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
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.settings.experimental-features = [
|
||||||
"nix-command"
|
"nix-command"
|
||||||
"flakes"
|
"flakes"
|
||||||
# "ca-derivations"
|
"ca-derivations"
|
||||||
# "blake3-hashes"
|
# "blake3-hashes"
|
||||||
# "git-hashing"
|
# "git-hashing"
|
||||||
];
|
];
|
||||||
@@ -64,10 +64,6 @@
|
|||||||
};
|
};
|
||||||
nix.settings.auto-optimise-store = !config.me.buildingPortable;
|
nix.settings.auto-optimise-store = !config.me.buildingPortable;
|
||||||
|
|
||||||
# Disable installing documentation.
|
|
||||||
documentation.doc.enable = false;
|
|
||||||
documentation.nixos.enable = false;
|
|
||||||
|
|
||||||
environment.persistence."/persist" = lib.mkIf (config.me.mountPersistence) {
|
environment.persistence."/persist" = lib.mkIf (config.me.mountPersistence) {
|
||||||
hideMounts = true;
|
hideMounts = true;
|
||||||
directories = [
|
directories = [
|
||||||
|
|||||||
6
nix/kubernetes/flake.lock
generated
6
nix/kubernetes/flake.lock
generated
@@ -164,11 +164,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1788752844,
|
"lastModified": 1784120854,
|
||||||
"narHash": "sha256-VaWGJ6+cIYN2erfSecbRV+4ljI185Ty2wUrXyvQbgOw=",
|
"narHash": "sha256-KesHgItiZPgGX740axSiQLcIQ8D24MDqNpkKYWIek8k=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "dc5d91f840324650bac8c379428c7037a416959a",
|
"rev": "753cc8a3a87467296ddd1fa93f0cc3e81120ee46",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
gptfdisk # cgdisk
|
gptfdisk # cgdisk
|
||||||
arp-scan # To find devices on the network
|
arp-scan # To find devices on the network
|
||||||
ldns # for drill
|
ldns # for drill
|
||||||
parted
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# This can make debugging easier by rejecting packets instead of dropping them:
|
# This can make debugging easier by rejecting packets instead of dropping them:
|
||||||
|
|||||||
209
nix/nixbsd/flake.lock
generated
Normal file
209
nix/nixbsd/flake.lock
generated
Normal file
@@ -0,0 +1,209 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"cppnix": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"flake-parts": "flake-parts",
|
||||||
|
"git-hooks-nix": "git-hooks-nix",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixbsd",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"nixpkgs-23-11": "nixpkgs-23-11",
|
||||||
|
"nixpkgs-regression": "nixpkgs-regression"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1781190364,
|
||||||
|
"narHash": "sha256-uP1AYpXYHdzmuz+a4AcScRIHa1uy7l9ObZovS0OqN70=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nix",
|
||||||
|
"rev": "ce9fda43e5cb8d2f6c57c7240d05d10ad0415799",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-compat": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1767039857,
|
||||||
|
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-compat_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1733328505,
|
||||||
|
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||||
|
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
||||||
|
"revCount": 69,
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-parts": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": [
|
||||||
|
"nixbsd",
|
||||||
|
"cppnix",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1778716662,
|
||||||
|
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"git-hooks-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": [
|
||||||
|
"nixbsd",
|
||||||
|
"cppnix"
|
||||||
|
],
|
||||||
|
"gitignore": [
|
||||||
|
"nixbsd",
|
||||||
|
"cppnix"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixbsd",
|
||||||
|
"cppnix",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1778507602,
|
||||||
|
"narHash": "sha256-kTwur1wV+01SdqskVMSo6JMEpg71ps3HpbFY2GsflKs=",
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "git-hooks.nix",
|
||||||
|
"rev": "61ab0e80d9c7ab14c256b5b453d8b3fb0189ba0a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "git-hooks.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"mini-tmpfiles": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixbsd",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1742754557,
|
||||||
|
"narHash": "sha256-nGxgiNhA94eSl8jcQwCboJ5Ed132z8yrFdOoT+rf8bE=",
|
||||||
|
"owner": "nixos-bsd",
|
||||||
|
"repo": "mini-tmpfiles",
|
||||||
|
"rev": "534ee577692c7092fdcd035f89bc29b663c6f9ca",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos-bsd",
|
||||||
|
"repo": "mini-tmpfiles",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixbsd": {
|
||||||
|
"inputs": {
|
||||||
|
"cppnix": "cppnix",
|
||||||
|
"flake-compat": "flake-compat_2",
|
||||||
|
"mini-tmpfiles": "mini-tmpfiles",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1783703343,
|
||||||
|
"narHash": "sha256-kt38BGQYWXUtNgTV/hCx0tf8IZJFuEGE3/IYoRutha4=",
|
||||||
|
"owner": "nixos-bsd",
|
||||||
|
"repo": "nixbsd",
|
||||||
|
"rev": "2b512eda58e6d77378bd20d6027802b158942e24",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos-bsd",
|
||||||
|
"repo": "nixbsd",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1783693695,
|
||||||
|
"narHash": "sha256-4eOaoE0Z2OR28W/vdzp1H9Qkl84ajh7tdVsfNwTuG5U=",
|
||||||
|
"rev": "dc29ee8fa098c86053cc8ef25594738f28be5b6b",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://releases.nixos.org/nixos/unstable-small/nixos-26.11pre1032146.dc29ee8fa098/nixexprs.tar.xz"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://channels.nixos.org/nixos-unstable-small/nixexprs.tar.xz"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-23-11": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1717159533,
|
||||||
|
"narHash": "sha256-oamiKNfr2MS6yH64rUn99mIZjc45nGJlj9eGth/3Xuw=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-regression": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1643052045,
|
||||||
|
"narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"nixbsd": "nixbsd",
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
111
nix/nixbsd/flake.nix
Normal file
111
nix/nixbsd/flake.nix
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
# nix build .#computer.vm
|
||||||
|
# result/bin/run-nixbsd-base-vm
|
||||||
|
{
|
||||||
|
description = "NixBSD Flake";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "https://channels.nixos.org/nixos-unstable-small/nixexprs.tar.xz";
|
||||||
|
# nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
nixbsd = {
|
||||||
|
url = "github:nixos-bsd/nixbsd";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs =
|
||||||
|
{
|
||||||
|
self,
|
||||||
|
nixpkgs,
|
||||||
|
nixbsd,
|
||||||
|
...
|
||||||
|
}@inputs:
|
||||||
|
let
|
||||||
|
forAllSystems =
|
||||||
|
func:
|
||||||
|
builtins.listToAttrs (
|
||||||
|
map (system: {
|
||||||
|
name = system;
|
||||||
|
value = func system;
|
||||||
|
}) nixpkgs.lib.systems.flakeExposed
|
||||||
|
);
|
||||||
|
makeImage =
|
||||||
|
buildPlatform: conf:
|
||||||
|
let
|
||||||
|
extended = conf.extendModules {
|
||||||
|
modules = [
|
||||||
|
{
|
||||||
|
config.nixpkgs.buildPlatform = buildPlatform;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
in
|
||||||
|
extended.config.system.build
|
||||||
|
// {
|
||||||
|
# appease `nix flake show`
|
||||||
|
type = "derivation";
|
||||||
|
name = "system-build";
|
||||||
|
|
||||||
|
closureInfo = extended.pkgs.closureInfo {
|
||||||
|
rootPaths = [ extended.config.system.build.toplevel.drvPath ];
|
||||||
|
};
|
||||||
|
vmClosureInfo = extended.pkgs.closureInfo {
|
||||||
|
rootPaths = [ extended.config.system.build.vm.drvPath ];
|
||||||
|
};
|
||||||
|
system = extended.config.system.build.toplevel;
|
||||||
|
inherit (extended) pkgs config;
|
||||||
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
nixosConfigurations.computer = nixbsd.lib.nixbsdSystem {
|
||||||
|
system = "x86_64-freebsd";
|
||||||
|
modules = [
|
||||||
|
(
|
||||||
|
{ config, lib, ... }:
|
||||||
|
{
|
||||||
|
nixpkgs.hostPlatform = "x86_64-freebsd";
|
||||||
|
networking.hostName = "computer";
|
||||||
|
|
||||||
|
users.users.root.initialPassword = "toor";
|
||||||
|
|
||||||
|
# Don't make me wait for an address...
|
||||||
|
networking.dhcpcd.wait = "background";
|
||||||
|
|
||||||
|
users.users.talexander = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "me";
|
||||||
|
extraGroups = [ "wheel" ];
|
||||||
|
inherit (config.users.users.root) initialPassword;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.sshd.enable = true;
|
||||||
|
boot.loader.stand-freebsd.enable = true;
|
||||||
|
|
||||||
|
fileSystems."/" = {
|
||||||
|
device = "/dev/gpt/nixos";
|
||||||
|
fsType = "ufs";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" = {
|
||||||
|
device = "/dev/msdosfs/ESP";
|
||||||
|
fsType = "msdosfs";
|
||||||
|
};
|
||||||
|
|
||||||
|
virtualisation.vmVariant.virtualisation.diskImage = "./${config.system.name}.qcow2";
|
||||||
|
|
||||||
|
system.stateVersion = "26.11";
|
||||||
|
}
|
||||||
|
)
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
packages = forAllSystems (
|
||||||
|
system:
|
||||||
|
nixpkgs.lib.mapAttrs (name: makeImage system) self.nixosConfigurations
|
||||||
|
// {
|
||||||
|
tools =
|
||||||
|
nixpkgs.legacyPackages.${system}.callPackages "${nixbsd}/modules/installer/tools/package.nix"
|
||||||
|
{ };
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user