Compare commits
19 Commits
nix-darwin
...
displaylin
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a5e17590a7
|
||
|
|
ffbd3847e7
|
||
|
|
4a6cbfad67
|
||
|
|
450478cff4 | ||
|
|
82d460e08e | ||
|
|
24853ba6a2
|
||
|
|
f2bde9ffea
|
||
|
|
0d6001d655
|
||
|
|
a0e8a74906
|
||
|
|
e719948a3e
|
||
|
|
3f281f1980
|
||
|
|
6ed4aa08f6
|
||
|
|
9bfa21368b
|
||
|
|
4eb7749967
|
||
|
|
d0504bf98f
|
||
|
|
f1d6ae3f1b | ||
|
|
85815fddfd | ||
|
|
5680e566bc | ||
|
|
3bbaeaf2af |
@@ -28,6 +28,7 @@ in
|
||||
./roles/d2
|
||||
./roles/direnv
|
||||
./roles/disko
|
||||
./roles/displaylink
|
||||
./roles/distributed_build
|
||||
./roles/doas
|
||||
./roles/docker
|
||||
@@ -64,6 +65,7 @@ in
|
||||
./roles/media
|
||||
./roles/memtest86
|
||||
./roles/minimal_base
|
||||
./roles/mitmproxy
|
||||
./roles/network
|
||||
./roles/nix_index
|
||||
./roles/nix_repl
|
||||
@@ -247,31 +249,32 @@ 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;
|
||||
# })
|
||||
# ];
|
||||
# })
|
||||
(disableTests "ada") # test failing with http url is not idempotent.
|
||||
];
|
||||
|
||||
# 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": 1786250497,
|
||||
"narHash": "sha256-OPhVT5n9OyPDZA3mIO6D5jVVvp/QmG8nT5Trb0gouSs=",
|
||||
"lastModified": 1788488145,
|
||||
"narHash": "sha256-s1UY+kbLtb+5ye4GnE/HKh0idUQ0iiIkMMtGI7cDRHk=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "0a270dcbdd51baa2895634a3baee29373db8337a",
|
||||
"revCount": 42,
|
||||
"rev": "8b28dfb583e094f52fd6ab70c709cc1981d8853d",
|
||||
"revCount": 46,
|
||||
"type": "git",
|
||||
"url": "https://code.fizz.buzz/talexander/nix_builder.git"
|
||||
},
|
||||
@@ -185,11 +185,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1780749050,
|
||||
"narHash": "sha256-3av0pIjlOWQ6rDbNOmpUSvbNnJkGORQKKjb4LtCZsIY=",
|
||||
"lastModified": 1788752844,
|
||||
"narHash": "sha256-VaWGJ6+cIYN2erfSecbRV+4ljI185Ty2wUrXyvQbgOw=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a799d3e3886da994fa307f817a6bc705ae538eeb",
|
||||
"rev": "dc5d91f840324650bac8c379428c7037a416959a",
|
||||
"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;
|
||||
};
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
config = {
|
||||
networking =
|
||||
let
|
||||
interface = "enp0s2";
|
||||
interface = "enp0s10";
|
||||
in
|
||||
{
|
||||
# Generate with `head -c4 /dev/urandom | od -A none -t x4`
|
||||
|
||||
@@ -118,6 +118,7 @@
|
||||
me.lvfs.enable = true;
|
||||
me.media.enable = true;
|
||||
me.memtest.enable = true;
|
||||
me.mitmproxy.enable = true;
|
||||
me.network.enable = true;
|
||||
me.nix_index.enable = true;
|
||||
me.nix_repl.enable = true;
|
||||
|
||||
@@ -92,6 +92,7 @@
|
||||
me.chromium.enable = true;
|
||||
me.d2.enable = true;
|
||||
me.direnv.enable = true;
|
||||
me.displaylink.enable = true;
|
||||
me.doas.enable = true;
|
||||
me.docker.enable = false;
|
||||
me.dont_use_substituters.enable = true;
|
||||
|
||||
@@ -111,6 +111,7 @@
|
||||
me.lvfs.enable = true;
|
||||
me.media.enable = true;
|
||||
me.memtest.enable = true;
|
||||
me.mitmproxy.enable = true;
|
||||
me.network.enable = true;
|
||||
me.nix_index.enable = true;
|
||||
me.nix_repl.enable = true;
|
||||
|
||||
@@ -72,5 +72,9 @@ in
|
||||
git_fix_author
|
||||
rsync_clone
|
||||
];
|
||||
|
||||
# Disable installing documentation.
|
||||
documentation.doc.enable = false;
|
||||
documentation.nixos.enable = false;
|
||||
};
|
||||
}
|
||||
|
||||
40
nix/configuration/roles/displaylink/default.nix
Normal file
40
nix/configuration/roles/displaylink/default.nix
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [ ];
|
||||
|
||||
options.me = {
|
||||
displaylink.enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
example = true;
|
||||
description = "Whether we want to install displaylink.";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.me.displaylink.enable (
|
||||
lib.mkMerge [
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
displaylink
|
||||
];
|
||||
|
||||
allowedUnfree = [ "displaylink" ];
|
||||
|
||||
boot = {
|
||||
extraModulePackages = [ config.boot.kernelPackages.evdi ];
|
||||
initrd.kernelModules = [
|
||||
"evdi"
|
||||
];
|
||||
};
|
||||
}
|
||||
(lib.mkIf config.me.graphical {
|
||||
})
|
||||
]
|
||||
);
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
;; -*- lexical-binding: t; -*-
|
||||
(setq gc-cons-threshold (* 128 1024 1024)) ;; 128MiB Increase garbage collection threshold for performance (default 800000)
|
||||
;; Increase amount of data read from processes, default 4k
|
||||
(when (version<= "27.0" emacs-version)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
;; -*- lexical-binding: t; -*-
|
||||
(use-package diminish)
|
||||
|
||||
;; Eglot recommends pulling the latest of the standard libraries it
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
;; -*- lexical-binding: t; -*-
|
||||
;; ========== Function to reload current file =================
|
||||
|
||||
(defun reload-file ()
|
||||
@@ -11,10 +12,9 @@
|
||||
"Run a command using the current buffer as stdin and replacing its contents if the command succeeds with the stdout from the command. This is useful for code formatters."
|
||||
(let (
|
||||
(stdout-buffer (generate-new-buffer "tmp-stdout" t))
|
||||
(full-cmd (append '(call-process-region nil nil cmd nil stdout-buffer nil) args))
|
||||
)
|
||||
(unwind-protect
|
||||
(let ((exit-status (eval full-cmd)))
|
||||
(let ((exit-status (apply #'call-process-region nil nil cmd nil (list stdout-buffer nil) nil args)))
|
||||
(if (eq exit-status 0)
|
||||
(save-excursion
|
||||
(replace-buffer-contents stdout-buffer)
|
||||
@@ -31,10 +31,9 @@
|
||||
"Run a command using the current buffer as stdin and replacing its contents if the command succeeds with the stdout from the command. This is useful for code formatters. This version only replaces the buffer contents if the command output some text."
|
||||
(let (
|
||||
(stdout-buffer (generate-new-buffer "tmp-stdout" t))
|
||||
(full-cmd (append '(call-process-region nil nil cmd nil stdout-buffer nil) args))
|
||||
)
|
||||
(unwind-protect
|
||||
(let ((exit-status (eval full-cmd)))
|
||||
(let ((exit-status (apply #'call-process-region nil nil cmd nil (list stdout-buffer nil) nil args)))
|
||||
(if (eq exit-status 0)
|
||||
(if (> (buffer-size stdout-buffer) 0)
|
||||
(save-excursion
|
||||
@@ -55,10 +54,9 @@
|
||||
(let (
|
||||
(default-directory (or dir default-directory))
|
||||
(stdout-buffer (generate-new-buffer "tmp-stdout" t))
|
||||
(full-cmd (append '(call-process cmd nil (list stdout-buffer nil) nil) args))
|
||||
)
|
||||
(unwind-protect
|
||||
(let ((exit-status (condition-case nil (eval full-cmd) (file-missing nil))))
|
||||
(let ((exit-status (condition-case nil (apply #'call-process cmd nil (list stdout-buffer nil) nil args) (file-missing nil))))
|
||||
(if (eq exit-status 0)
|
||||
(progn
|
||||
(with-current-buffer stdout-buffer
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
;; -*- lexical-binding: t; -*-
|
||||
;; Add your keys here, as such
|
||||
|
||||
;; Disable the suspend frame hotkeys
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
;; -*- lexical-binding: t; -*-
|
||||
;; Set theme
|
||||
(load-theme 'tango-dark t)
|
||||
(set-face-attribute 'default nil :background "black")
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
;; -*- lexical-binding: t; -*-
|
||||
(package-initialize)
|
||||
(use-package use-package
|
||||
:custom
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
;; -*- lexical-binding: t; -*-
|
||||
(use-package eglot
|
||||
;; This is an emacs built-in but we're pulling the latest version
|
||||
:pin gnu
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
;; -*- lexical-binding: t; -*-
|
||||
(require 'util-tree-sitter)
|
||||
|
||||
(use-package bash-ts-mode
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
;; -*- lexical-binding: t; -*-
|
||||
(require 'common-lsp)
|
||||
(require 'util-tree-sitter)
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
;; -*- lexical-binding: t; -*-
|
||||
(require 'common-lsp)
|
||||
|
||||
(use-package cmake-mode
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
;; -*- lexical-binding: t; -*-
|
||||
(defun d2-format-buffer ()
|
||||
"Run prettier."
|
||||
(interactive)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
;; -*- lexical-binding: t; -*-
|
||||
(use-package dockerfile-ts-mode
|
||||
:pin manual
|
||||
:mode (
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
;; -*- lexical-binding: t; -*-
|
||||
(require 'common-lsp)
|
||||
(require 'util-tree-sitter)
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
;; -*- lexical-binding: t; -*-
|
||||
(require 'common-lsp)
|
||||
(require 'util-tree-sitter)
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
;; -*- lexical-binding: t; -*-
|
||||
(defun lua-format-buffer ()
|
||||
"Run stylua."
|
||||
(interactive)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
;; -*- lexical-binding: t; -*-
|
||||
(use-package markdown-mode
|
||||
:ensure t
|
||||
:commands (markdown-mode gfm-mode)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
;; -*- lexical-binding: t; -*-
|
||||
(use-package nftables-mode
|
||||
:commands nftables-mode
|
||||
)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
;; -*- lexical-binding: t; -*-
|
||||
(require 'common-lsp)
|
||||
(require 'util-tree-sitter)
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
;; -*- lexical-binding: t; -*-
|
||||
(require 'color)
|
||||
(let ((bg (face-attribute 'default :background)))
|
||||
(use-package org
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
;; -*- lexical-binding: t; -*-
|
||||
(require 'common-lsp)
|
||||
(require 'util-tree-sitter)
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
;; -*- lexical-binding: t; -*-
|
||||
(require 'common-lsp)
|
||||
(require 'util-tree-sitter)
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
;; -*- lexical-binding: t; -*-
|
||||
(require 'common-lsp)
|
||||
(require 'util-tree-sitter)
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
;; -*- lexical-binding: t; -*-
|
||||
(defun xml-fmt ()
|
||||
"Run xmllint --format."
|
||||
(run-command-on-buffer "xmllint" "--format" "-")
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
;; -*- lexical-binding: t; -*-
|
||||
(defun yaml-format-buffer ()
|
||||
"Run prettier."
|
||||
(interactive)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
;; -*- lexical-binding: t; -*-
|
||||
(use-package flymake
|
||||
:pin manual
|
||||
:ensure nil
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
;; -*- lexical-binding: t; -*-
|
||||
|
||||
;; (add-to-list 'major-mode-remap-alist '(c-mode . c-ts-mode))
|
||||
|
||||
(use-package treesit
|
||||
@@ -13,6 +15,8 @@
|
||||
;; :custom
|
||||
;; (treesit-font-lock-level 3)
|
||||
(setq treesit-font-lock-level 4)
|
||||
;; (setq treesit-auto-install-grammar t)
|
||||
;; (setq treesit-enabled-modes t)
|
||||
)
|
||||
|
||||
(provide 'util-tree-sitter)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
;; -*- lexical-binding: t; -*-
|
||||
(defun my/minibuffer-delete (arg)
|
||||
"When looking for files, go up an entire directory with the backspace button if theres no text after the directory."
|
||||
(interactive "p")
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
;; -*- lexical-binding: t; -*-
|
||||
(add-to-list 'load-path (concat user-emacs-directory "elisp"))
|
||||
|
||||
(require 'base)
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
config = lib.mkIf (config.me.firefox.enable && config.me.graphical) {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
package = (pkgs.wrapFirefox (pkgs.firefox-unwrapped.override { pipewireSupport = true; }) { });
|
||||
package = (pkgs.wrapFirefox (pkgs.firefox-unwrapped.override { withPipewire = true; }) { });
|
||||
languagePacks = [ "en-US" ];
|
||||
preferences = {
|
||||
# "identity.sync.tokenserver.uri": "https://ffsync.fizz.buzz/token/1.0/sync/1.5";
|
||||
@@ -134,7 +134,7 @@
|
||||
users.talexander = {
|
||||
directories = [
|
||||
{
|
||||
directory = ".mozilla";
|
||||
directory = ".config/mozilla";
|
||||
user = "talexander";
|
||||
group = "talexander";
|
||||
mode = "0700";
|
||||
|
||||
@@ -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 ])
|
||||
];
|
||||
|
||||
|
||||
@@ -100,6 +100,7 @@
|
||||
IFS=$'\n\t'
|
||||
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}
|
||||
'';
|
||||
restartIfChanged = false;
|
||||
|
||||
@@ -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;
|
||||
{
|
||||
# Google's BBRv3 TCP congestion Control
|
||||
TCP_CONG_BBR = yes;
|
||||
DEFAULT_BBR = yes;
|
||||
};
|
||||
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
|
||||
;
|
||||
}
|
||||
]
|
||||
)
|
||||
);
|
||||
})
|
||||
];
|
||||
|
||||
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
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -6,6 +6,8 @@
|
||||
}:
|
||||
|
||||
# Alternative DNS servers:
|
||||
# "194.242.2.2#doh.mullvad.net"
|
||||
# "2a07:e340::2#doh.mullvad.net"
|
||||
# "1.0.0.1#cloudflare-dns.com"
|
||||
# "1.1.1.1#cloudflare-dns.com"
|
||||
# "2606:4700:4700::1001#cloudflare-dns.com"
|
||||
@@ -14,6 +16,10 @@
|
||||
# "8.8.8.8#dns.google"
|
||||
# "2001:4860:4860::8844#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
|
||||
patchScriptBin =
|
||||
@@ -39,8 +45,10 @@ in
|
||||
networking.dhcpcd.enable = lib.mkDefault false;
|
||||
networking.useDHCP = lib.mkDefault false;
|
||||
networking.nameservers = [
|
||||
"194.242.2.2#doh.mullvad.net"
|
||||
"2a07:e340::2#doh.mullvad.net"
|
||||
"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"
|
||||
];
|
||||
services.resolved = {
|
||||
enable = true;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -64,6 +64,10 @@
|
||||
};
|
||||
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) {
|
||||
hideMounts = true;
|
||||
directories = [
|
||||
|
||||
6
nix/kubernetes/flake.lock
generated
6
nix/kubernetes/flake.lock
generated
@@ -164,11 +164,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1784120854,
|
||||
"narHash": "sha256-KesHgItiZPgGX740axSiQLcIQ8D24MDqNpkKYWIek8k=",
|
||||
"lastModified": 1788752844,
|
||||
"narHash": "sha256-VaWGJ6+cIYN2erfSecbRV+4ljI185Ty2wUrXyvQbgOw=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "753cc8a3a87467296ddd1fa93f0cc3e81120ee46",
|
||||
"rev": "dc5d91f840324650bac8c379428c7037a416959a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
config = {
|
||||
networking =
|
||||
let
|
||||
interface = "enp0s2";
|
||||
interface = "enp0s10";
|
||||
in
|
||||
{
|
||||
# Generate with `head -c4 /dev/urandom | od -A none -t x4`
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
config = {
|
||||
networking =
|
||||
let
|
||||
interface = "enp0s2";
|
||||
interface = "enp0s10";
|
||||
in
|
||||
{
|
||||
# Generate with `head -c4 /dev/urandom | od -A none -t x4`
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
config = {
|
||||
networking =
|
||||
let
|
||||
interface = "enp0s2";
|
||||
interface = "enp0s10";
|
||||
in
|
||||
{
|
||||
# Generate with `head -c4 /dev/urandom | od -A none -t x4`
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
config = {
|
||||
networking =
|
||||
let
|
||||
interface = "enp0s2";
|
||||
interface = "enp0s10";
|
||||
in
|
||||
{
|
||||
# Generate with `head -c4 /dev/urandom | od -A none -t x4`
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
config = {
|
||||
networking =
|
||||
let
|
||||
interface = "enp0s2";
|
||||
interface = "enp0s10";
|
||||
in
|
||||
{
|
||||
# Generate with `head -c4 /dev/urandom | od -A none -t x4`
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
config = {
|
||||
networking =
|
||||
let
|
||||
interface = "enp0s2";
|
||||
interface = "enp0s10";
|
||||
in
|
||||
{
|
||||
# Generate with `head -c4 /dev/urandom | od -A none -t x4`
|
||||
|
||||
@@ -134,6 +134,18 @@ let
|
||||
"nix-pull-through-cache" = {
|
||||
"CACHE_GET_TOKEN" = (builtins.readFile "${./secrets/nix-pull-through-cache/auth/CACHE_GET_TOKEN}");
|
||||
};
|
||||
"registry-credentials" =
|
||||
(generate_docker_secret {
|
||||
username = builtins.readFile "${./secrets/flux-system/registry-credentials/username}";
|
||||
password = builtins.readFile "${./secrets/flux-system/registry-credentials/password}";
|
||||
email = builtins.readFile "${./secrets/flux-system/registry-credentials/email}";
|
||||
address = builtins.readFile "${./secrets/flux-system/registry-credentials/address}";
|
||||
})
|
||||
// {
|
||||
# "__annotations" = {
|
||||
# "tekton.dev/docker-0" = "https://harbor.fizz.buzz";
|
||||
# };
|
||||
};
|
||||
};
|
||||
};
|
||||
encrypted_secrets = (
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
gptfdisk # cgdisk
|
||||
arp-scan # To find devices on the network
|
||||
ldns # for drill
|
||||
parted
|
||||
];
|
||||
|
||||
# This can make debugging easier by rejecting packets instead of dropping them:
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
assertions = [
|
||||
{
|
||||
# Kubernetes should only upgrade 1 minor version at a time, so this assert is here to prevent unwittingly jumping versions.
|
||||
assertion = lib.hasPrefix "1.36." pkgs.kubernetes.version;
|
||||
assertion = lib.hasPrefix "1.37." pkgs.kubernetes.version;
|
||||
message = "Unexpected Kubernetes package version: ${pkgs.kubernetes.version}";
|
||||
}
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user