Compare commits
8 Commits
nix-darwin
...
6ed4aa08f6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6ed4aa08f6
|
||
|
|
9bfa21368b
|
||
|
|
4eb7749967
|
||
|
|
d0504bf98f
|
||
|
|
f1d6ae3f1b | ||
|
|
85815fddfd | ||
|
|
5680e566bc | ||
|
|
3bbaeaf2af |
@@ -64,6 +64,7 @@ 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
|
||||||
@@ -247,31 +248,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: {
|
||||||
fwupd = prev.fwupd.overrideAttrs (
|
rpcs3 = prev.rpcs3.overrideAttrs (
|
||||||
finalAttrs: prevAttrs: {
|
finalAttrs: prevAttrs: {
|
||||||
version = "2.1.5";
|
version = "0.0.42-19843";
|
||||||
|
|
||||||
src = final.fetchFromGitHub {
|
src = final.fetchFromGitHub {
|
||||||
owner = "fwupd";
|
owner = "RPCS3";
|
||||||
repo = "fwupd";
|
repo = "rpcs3";
|
||||||
tag = finalAttrs.version;
|
rev = "6567a5a2f8ab47a89db395d6b47a7b59b23d6960";
|
||||||
hash = "sha256-DzQ+N99ZmFRqZc2rN6PSqmoIMXUyrE8Kkn+KnT/AWPc=";
|
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,
|
# 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": 1780894562,
|
"lastModified": 1781152676,
|
||||||
"narHash": "sha256-c3430xwxwhHipl3jigUGMMBfpaMylDqytW/kdmB3ZGs=",
|
"narHash": "sha256-RxWs5ND31KzTG7wvMM+PMfUjyNpmIEr999lqNARaM5o=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "disko",
|
"repo": "disko",
|
||||||
"rev": "24fed06cac83bcc44ac8efbb57cab1a82fa0bedc",
|
"rev": "ff8702b4de27f72b4c78573dfb89ec74e36abdf1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -170,11 +170,11 @@
|
|||||||
"rust-overlay": "rust-overlay_2"
|
"rust-overlay": "rust-overlay_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1786250497,
|
"lastModified": 1785893730,
|
||||||
"narHash": "sha256-OPhVT5n9OyPDZA3mIO6D5jVVvp/QmG8nT5Trb0gouSs=",
|
"narHash": "sha256-K3pjEDafWrpfC1dc14icLxx9tWx4c/dfKTeiDYoZU7Q=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "0a270dcbdd51baa2895634a3baee29373db8337a",
|
"rev": "83f05b36778dd90d4e15e0d020685d9388cbaea1",
|
||||||
"revCount": 42,
|
"revCount": 39,
|
||||||
"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": 1780749050,
|
"lastModified": 1787498568,
|
||||||
"narHash": "sha256-3av0pIjlOWQ6rDbNOmpUSvbNnJkGORQKKjb4LtCZsIY=",
|
"narHash": "sha256-9i/VTdusq/+NM/tz+J1Re+ojkMB8MBf0QshnYfzHz30=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "a799d3e3886da994fa307f817a6bc705ae538eeb",
|
"rev": "56c02bc00adcf003215cc4bd996d6efaf4cff188",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -199,22 +199,6 @@
|
|||||||
"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,
|
||||||
@@ -264,8 +248,7 @@
|
|||||||
"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,7 +20,6 @@
|
|||||||
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";
|
||||||
@@ -39,7 +38,6 @@
|
|||||||
{
|
{
|
||||||
self,
|
self,
|
||||||
nixpkgs,
|
nixpkgs,
|
||||||
nixpkgs-google,
|
|
||||||
disko,
|
disko,
|
||||||
impermanence,
|
impermanence,
|
||||||
lanzaboote,
|
lanzaboote,
|
||||||
@@ -99,9 +97,6 @@
|
|||||||
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;
|
|
||||||
};
|
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -118,6 +118,7 @@
|
|||||||
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;
|
||||||
|
|||||||
@@ -111,6 +111,7 @@
|
|||||||
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;
|
||||||
|
|||||||
@@ -134,7 +134,7 @@
|
|||||||
users.talexander = {
|
users.talexander = {
|
||||||
directories = [
|
directories = [
|
||||||
{
|
{
|
||||||
directory = ".mozilla";
|
directory = ".config/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.google; [
|
environment.systemPackages = with pkgs; [
|
||||||
(google-cloud-sdk.withExtraComponents [ google-cloud-sdk.components.gke-gcloud-auth-plugin ])
|
(google-cloud-sdk.withExtraComponents [ google-cloud-sdk.components.gke-gcloud-auth-plugin ])
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -14,30 +14,12 @@ 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 =
|
||||||
@@ -99,16 +81,14 @@ let
|
|||||||
TRANSPARENT_HUGEPAGE_MADVISE = yes;
|
TRANSPARENT_HUGEPAGE_MADVISE = yes;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
common_config =
|
common_config = with lib.kernel; {
|
||||||
with lib.kernel;
|
# Google's BBRv3 TCP congestion Control
|
||||||
{
|
TCP_CONG_BBR = yes;
|
||||||
# Google's BBRv3 TCP congestion Control
|
DEFAULT_BBR = yes;
|
||||||
TCP_CONG_BBR = yes;
|
};
|
||||||
DEFAULT_BBR = yes;
|
|
||||||
};
|
|
||||||
flavors = {
|
flavors = {
|
||||||
server = lib.mkMerge [
|
server = lib.mkMerge [
|
||||||
preemption_type.none
|
preemption_type.lazy
|
||||||
tick_hz."300"
|
tick_hz."300"
|
||||||
performance_governor.default
|
performance_governor.default
|
||||||
tick_rate.tickless
|
tick_rate.tickless
|
||||||
@@ -142,7 +122,8 @@ 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.texlive.combine {
|
pkgs.texliveSmall.withPackages (
|
||||||
inherit (pkgs.texlive)
|
ps: with ps; [
|
||||||
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
|
||||||
;
|
]
|
||||||
}
|
)
|
||||||
);
|
);
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|||||||
25
nix/configuration/roles/mitmproxy/default.nix
Normal file
25
nix/configuration/roles/mitmproxy/default.nix
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
{
|
||||||
|
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
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -34,7 +34,9 @@
|
|||||||
# 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.search = [ "docker.io" ];
|
virtualisation.containers.registries.settings = {
|
||||||
|
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" = true;
|
"Pause emulation on RPCS3 focus loss" = false;
|
||||||
"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,7 +53,10 @@ in
|
|||||||
rpcs3
|
rpcs3
|
||||||
];
|
];
|
||||||
|
|
||||||
allowedUnfree = [ "rpcs3" ];
|
allowedUnfree = [
|
||||||
|
"rpcs3"
|
||||||
|
"corefonts"
|
||||||
|
];
|
||||||
|
|
||||||
security.pam.loginLimits = [
|
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 = {
|
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;
|
||||||
|
|||||||
Reference in New Issue
Block a user