From 4b7040d16ad56c262e3767dfe8787b16ea911035 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sun, 16 Mar 2025 15:52:58 -0400 Subject: [PATCH 01/31] universedesktop: Regular Emacs --- machines/universedesktop/programs/office.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machines/universedesktop/programs/office.nix b/machines/universedesktop/programs/office.nix index f92c791..0f16524 100644 --- a/machines/universedesktop/programs/office.nix +++ b/machines/universedesktop/programs/office.nix @@ -1,6 +1,6 @@ { lib, config, pkgs, ... }: { environment.systemPackages = with pkgs; [ - me-emacs + emacs texlive.combined.scheme-full pandoc libreoffice-qt From ace21e49ed24446d84320a7a94c2f752ff167b2a Mon Sep 17 00:00:00 2001 From: David Crompton Date: Tue, 18 Mar 2025 09:54:44 -0400 Subject: [PATCH 02/31] universedesktop: nvidia driver stable -> vulkan_beta (fixes mouse stutter in dxvk) --- machines/universedesktop/desktop/graphics.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machines/universedesktop/desktop/graphics.nix b/machines/universedesktop/desktop/graphics.nix index 05b9ca0..f259404 100644 --- a/machines/universedesktop/desktop/graphics.nix +++ b/machines/universedesktop/desktop/graphics.nix @@ -9,7 +9,7 @@ powerManagement.finegrained = false; nvidiaSettings = true; open = true; - #package = config.boot.kernelPackages.nvidiaPackages.beta; + package = config.boot.kernelPackages.nvidiaPackages.vulkan_beta; #package = let # rcu_patch = pkgs.fetchpatch { # url = "https://github.com/gentoo/gentoo/raw/c64caf53/x11-drivers/nvidia-drivers/files/nvidia-drivers-470.223.02-gpl-pfn_valid.patch"; From 5383bde0532215fb060b8ed912bc58eb0b4972e6 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Tue, 18 Mar 2025 09:55:04 -0400 Subject: [PATCH 03/31] universedesktop: Add st to env --- machines/universedesktop/desktop/dwm.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/machines/universedesktop/desktop/dwm.nix b/machines/universedesktop/desktop/dwm.nix index 54395be..4220f42 100644 --- a/machines/universedesktop/desktop/dwm.nix +++ b/machines/universedesktop/desktop/dwm.nix @@ -56,5 +56,6 @@ dmenu xclip pwvucontrol + st ]; } From 92abcf170b815e38dc20bda5928afc20f83fda82 Mon Sep 17 00:00:00 2001 From: david Date: Tue, 18 Mar 2025 09:55:35 -0400 Subject: [PATCH 04/31] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'me-emacs': 'git+https://git.syzygial.cc/Syzygial/EmacsConfig.git?ref=refs/heads/master&rev=91e2a5430d24f0f7077dd43b75262f5616b87e3d' (2025-03-13) → 'git+https://git.syzygial.cc/Syzygial/EmacsConfig.git?ref=refs/heads/master&rev=3f9a4859a98123dd840e928d0e6af60ca921607a' (2025-03-18) • Removed input 'me-emacs/emacs-overlay' • Removed input 'me-emacs/emacs-overlay/nixpkgs' • Removed input 'me-emacs/emacs-overlay/nixpkgs-stable' --- flake.lock | 47 ++++------------------------------------------- 1 file changed, 4 insertions(+), 43 deletions(-) diff --git a/flake.lock b/flake.lock index ef9a668..b08213f 100644 --- a/flake.lock +++ b/flake.lock @@ -1,27 +1,5 @@ { "nodes": { - "emacs-overlay": { - "inputs": { - "nixpkgs": [ - "me-emacs", - "nixpkgs" - ], - "nixpkgs-stable": "nixpkgs-stable" - }, - "locked": { - "lastModified": 1737825153, - "narHash": "sha256-R1p2ZXOydII+MT/SpeOXBjo/dgfD/gIArge2YAgSw38=", - "owner": "nix-community", - "repo": "emacs-overlay", - "rev": "4ebe4c890e7c8662ae31192359a56b0505cf10ba", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "emacs-overlay", - "type": "github" - } - }, "flake-utils": { "inputs": { "systems": "systems" @@ -130,18 +108,17 @@ }, "me-emacs": { "inputs": { - "emacs-overlay": "emacs-overlay", "flake-utils": "flake-utils_2", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1741880390, - "narHash": "sha256-SbgthgZFaVOu/olUzvSIKANuldn/CBnWsSyTJ1sxaAM=", + "lastModified": 1742305973, + "narHash": "sha256-1LtwFQf95Wm7HbpX85Hls3mme92ysFvGWWoyWUrRz94=", "ref": "refs/heads/master", - "rev": "91e2a5430d24f0f7077dd43b75262f5616b87e3d", - "revCount": 73, + "rev": "3f9a4859a98123dd840e928d0e6af60ca921607a", + "revCount": 75, "type": "git", "url": "https://git.syzygial.cc/Syzygial/EmacsConfig.git" }, @@ -187,22 +164,6 @@ "type": "github" } }, - "nixpkgs-stable": { - "locked": { - "lastModified": 1737672001, - "narHash": "sha256-YnHJJ19wqmibLQdUeq9xzE6CjrMA568KN/lFPuSVs4I=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "035f8c0853c2977b24ffc4d0a42c74f00b182cd8", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs_2": { "locked": { "lastModified": 1731763621, From 87752f4f9659ed62e0b97a5da47f442d8f09a01d Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sat, 22 Mar 2025 14:04:40 -0400 Subject: [PATCH 05/31] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'home-manager': 'github:nix-community/home-manager/c630dfa8abcc65984cc1e47fb25d4552c81dd37e' (2025-03-11) → 'github:nix-community/home-manager/296ddc64627f4a6a4eb447852d7346b9dd16197d' (2025-03-21) • Updated input 'lix-module': 'https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/b90bf629bbd835e61f1317b99e12f8c831017006.tar.gz?narHash=sha256-YMLrcBpf0TR5r/eaqm8lxzFPap2TxCor0ZGcK3a7%2Bb8%3D' (2025-01-18) → 'https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/b90bf629bbd835e61f1317b99e12f8c831017006.tar.gz?narHash=sha256-YMLrcBpf0TR5r/eaqm8lxzFPap2TxCor0ZGcK3a7%2Bb8%3D&rev=b90bf629bbd835e61f1317b99e12f8c831017006' (2025-01-18) • Updated input 'me-emacs': 'git+https://git.syzygial.cc/Syzygial/EmacsConfig.git?ref=refs/heads/master&rev=3f9a4859a98123dd840e928d0e6af60ca921607a' (2025-03-18) → 'git+https://git.syzygial.cc/Syzygial/EmacsConfig.git?ref=refs/heads/master&rev=14454885f19e63584cc3ce557e97488541f15883' (2025-03-20) • Updated input 'nix-darwin': 'github:LnL7/nix-darwin/adf5c88ba1fe21af5c083b4d655004431f20c5ab' (2025-03-06) → 'github:LnL7/nix-darwin/e9f41de2a81f04390afd106959adf352a207628f' (2025-03-21) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/e3e32b642a31e6714ec1b712de8c91a3352ce7e1' (2025-03-09) → 'github:NixOS/nixpkgs/a84ebe20c6bc2ecbcfb000a50776219f48d134cc' (2025-03-19) • Updated input 'sops-nix': 'github:Mic92/sops-nix/e653d71e82575a43fe9d228def8eddb73887b866' (2025-03-10) → 'github:Mic92/sops-nix/b7756921b002de60fb66782effad3ce8bdb5b25d' (2025-03-21) • Updated input 'sops-nix/nixpkgs': 'github:NixOS/nixpkgs/c69a9bffbecde46b4b939465422ddc59493d3e4d' (2024-11-16) → 'github:NixOS/nixpkgs/573c650e8a14b2faa0041645ab18aed7e60f0c9a' (2025-03-13) --- flake.lock | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/flake.lock b/flake.lock index b08213f..f4668e7 100644 --- a/flake.lock +++ b/flake.lock @@ -58,11 +58,11 @@ ] }, "locked": { - "lastModified": 1741701235, - "narHash": "sha256-gBlb8R9gnjUAT5XabJeel3C2iEUiBHx3+91651y3Sqo=", + "lastModified": 1742588233, + "narHash": "sha256-Fi5g8H5FXMSRqy+mU6gPG0v+C9pzjYbkkiePtz8+PpA=", "owner": "nix-community", "repo": "home-manager", - "rev": "c630dfa8abcc65984cc1e47fb25d4552c81dd37e", + "rev": "296ddc64627f4a6a4eb447852d7346b9dd16197d", "type": "github" }, "original": { @@ -99,7 +99,7 @@ "narHash": "sha256-YMLrcBpf0TR5r/eaqm8lxzFPap2TxCor0ZGcK3a7+b8=", "rev": "b90bf629bbd835e61f1317b99e12f8c831017006", "type": "tarball", - "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/b90bf629bbd835e61f1317b99e12f8c831017006.tar.gz" + "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/b90bf629bbd835e61f1317b99e12f8c831017006.tar.gz?rev=b90bf629bbd835e61f1317b99e12f8c831017006" }, "original": { "type": "tarball", @@ -114,11 +114,11 @@ ] }, "locked": { - "lastModified": 1742305973, - "narHash": "sha256-1LtwFQf95Wm7HbpX85Hls3mme92ysFvGWWoyWUrRz94=", + "lastModified": 1742486781, + "narHash": "sha256-Q0JINFp8mtpkbvODO2arZJUONfXhYBu8O4oGqUjso2A=", "ref": "refs/heads/master", - "rev": "3f9a4859a98123dd840e928d0e6af60ca921607a", - "revCount": 75, + "rev": "14454885f19e63584cc3ce557e97488541f15883", + "revCount": 77, "type": "git", "url": "https://git.syzygial.cc/Syzygial/EmacsConfig.git" }, @@ -134,11 +134,11 @@ ] }, "locked": { - "lastModified": 1741229100, - "narHash": "sha256-0HwrTDXp9buEwal/1ymK9uQmzUD5ozIA7CJGqnT/gLs=", + "lastModified": 1742595055, + "narHash": "sha256-cEetDber6LF8W4ThmRc4rwKs/o8y2GH0pUdX7e6CnAQ=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "adf5c88ba1fe21af5c083b4d655004431f20c5ab", + "rev": "e9f41de2a81f04390afd106959adf352a207628f", "type": "github" }, "original": { @@ -150,11 +150,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1741513245, - "narHash": "sha256-7rTAMNTY1xoBwz0h7ZMtEcd8LELk9R5TzBPoHuhNSCk=", + "lastModified": 1742422364, + "narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e3e32b642a31e6714ec1b712de8c91a3352ce7e1", + "rev": "a84ebe20c6bc2ecbcfb000a50776219f48d134cc", "type": "github" }, "original": { @@ -166,11 +166,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1731763621, - "narHash": "sha256-ddcX4lQL0X05AYkrkV2LMFgGdRvgap7Ho8kgon3iWZk=", + "lastModified": 1741865919, + "narHash": "sha256-4thdbnP6dlbdq+qZWTsm4ffAwoS8Tiq1YResB+RP6WE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "c69a9bffbecde46b4b939465422ddc59493d3e4d", + "rev": "573c650e8a14b2faa0041645ab18aed7e60f0c9a", "type": "github" }, "original": { @@ -195,11 +195,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1741644481, - "narHash": "sha256-E0RrMykMtEv15V3QhpsFutgoSKhL1JBhidn+iZajOyg=", + "lastModified": 1742595978, + "narHash": "sha256-05onsoMrLyXE4XleDCeLC3bXnC4nyUbKWInGwM7v6hU=", "owner": "Mic92", "repo": "sops-nix", - "rev": "e653d71e82575a43fe9d228def8eddb73887b866", + "rev": "b7756921b002de60fb66782effad3ce8bdb5b25d", "type": "github" }, "original": { From 65750629d3f5ef177cba74f12e30c475e6faaaaf Mon Sep 17 00:00:00 2001 From: David Crompton Date: Mon, 31 Mar 2025 23:58:05 +0000 Subject: [PATCH 06/31] Machines: add machine pericyte --- flake.nix | 7 +++++++ machines/pericyte/configuration.nix | 19 +++++++++++++++++++ machines/pericyte/hardware-configuration.nix | 14 ++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 machines/pericyte/configuration.nix create mode 100644 machines/pericyte/hardware-configuration.nix diff --git a/flake.nix b/flake.nix index 281ee87..5596ce4 100644 --- a/flake.nix +++ b/flake.nix @@ -63,6 +63,13 @@ lix-module.nixosModules.default ]; }; + pericyte = nixosSystem' { + modules = [ + ./machines/pericyte/configuration.nix + modules.sops + # lix-module.nixosModules.default + ]; + }; }; darwinConfigurations = { UniverseAir = darwinSystem' { diff --git a/machines/pericyte/configuration.nix b/machines/pericyte/configuration.nix new file mode 100644 index 0000000..ec6573c --- /dev/null +++ b/machines/pericyte/configuration.nix @@ -0,0 +1,19 @@ +{ pkgs, ... }: { + imports = [ + ./hardware-configuration.nix + ]; + + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + + environment.systemPackages = with pkgs; [ + git + ]; + + boot.tmp.cleanOnBoot = true; + zramSwap.enable = true; + networking.hostName = "pericyte"; + networking.domain = ""; + services.openssh.enable = true; + users.users.root.openssh.authorizedKeys.keys = [''ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOaNNSV/wurGA8D7bT+WX4UlHdKqd9SFfVXvSalvHag5qYDPUIsGGkqSNj1dcong9qxrC8y7G7ybWhwRKTKXInXrq6EO4JkVkCSbVqrq8gIv66upsKltvmf0esiOdrpRgHoiup8JKaX93aUT27rykReT39mFwkJZDoD4ViNiK7QmbgDC/9pyGDSJykreSnBoxtczox8Zi+pwN8XMI4nRVdV9hppXMpj38/O3Qaq+oXdHJ2MVNy9D+TqxYofstFbzpJpEb2xA4QYnq/VVJFk8VaZlg3qxelwBJ1GNZO8TMkLA+6b07D3aISyEIQAONviNktPwRPiw903hsDyeKDunDx ssh-key-2025-03-31'' ]; + system.stateVersion = "25.05"; +} diff --git a/machines/pericyte/hardware-configuration.nix b/machines/pericyte/hardware-configuration.nix new file mode 100644 index 0000000..b26ab3a --- /dev/null +++ b/machines/pericyte/hardware-configuration.nix @@ -0,0 +1,14 @@ +{ modulesPath, ... }: +{ + imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; + boot.loader.grub = { + efiSupport = true; + efiInstallAsRemovable = true; + device = "nodev"; + }; + fileSystems."/boot" = { device = "/dev/disk/by-uuid/FCE4-1F46"; fsType = "vfat"; }; + boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "xen_blkfront" "vmw_pvscsi" ]; + boot.initrd.kernelModules = [ "nvme" ]; + fileSystems."/" = { device = "/dev/sda1"; fsType = "ext4"; }; + +} From d5e663c6d8a75bf156e7c14965092011204fa84e Mon Sep 17 00:00:00 2001 From: David Crompton Date: Tue, 1 Apr 2025 02:25:50 +0000 Subject: [PATCH 07/31] Pericyte: Headless/Minimal Profiles --- machines/pericyte/configuration.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/machines/pericyte/configuration.nix b/machines/pericyte/configuration.nix index ec6573c..aca40cf 100644 --- a/machines/pericyte/configuration.nix +++ b/machines/pericyte/configuration.nix @@ -1,6 +1,8 @@ -{ pkgs, ... }: { +{ pkgs, inputs, ... }: { imports = [ ./hardware-configuration.nix + "${inputs.nixpkgs}/nixos/modules/profiles/headless.nix" + "${inputs.nixpkgs}/nixos/modules/profiles/minimal.nix" ]; nix.settings.experimental-features = [ "nix-command" "flakes" ]; From d24f3fc198188e7abc134ab72f055ed75bd664da Mon Sep 17 00:00:00 2001 From: David Crompton Date: Tue, 1 Apr 2025 18:51:28 +0000 Subject: [PATCH 08/31] Flake: add microvm --- flake.lock | 72 +++++++++++++++++++++ flake.nix | 5 +- machines/pericyte/configuration.nix | 2 + machines/pericyte/microvm-configuration.nix | 44 +++++++++++++ 4 files changed, 122 insertions(+), 1 deletion(-) create mode 100644 machines/pericyte/microvm-configuration.nix diff --git a/flake.lock b/flake.lock index b08213f..26f0fb9 100644 --- a/flake.lock +++ b/flake.lock @@ -36,6 +36,24 @@ "type": "github" } }, + "flake-utils_3": { + "inputs": { + "systems": "systems_3" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "flakey-profile": { "locked": { "lastModified": 1712898590, @@ -127,6 +145,28 @@ "url": "https://git.syzygial.cc/Syzygial/EmacsConfig.git" } }, + "microvm": { + "inputs": { + "flake-utils": "flake-utils_3", + "nixpkgs": [ + "nixpkgs" + ], + "spectrum": "spectrum" + }, + "locked": { + "lastModified": 1743083165, + "narHash": "sha256-Fz7AiCJWtoWZ2guJwO3B1h3RuJxYWaCzFIqY0Kmkyrs=", + "owner": "astro", + "repo": "microvm.nix", + "rev": "773d5a04e2e10ca7b412270dea11276a496e1b61", + "type": "github" + }, + "original": { + "owner": "astro", + "repo": "microvm.nix", + "type": "github" + } + }, "nix-darwin": { "inputs": { "nixpkgs": [ @@ -185,6 +225,7 @@ "home-manager": "home-manager", "lix-module": "lix-module", "me-emacs": "me-emacs", + "microvm": "microvm", "nix-darwin": "nix-darwin", "nixpkgs": "nixpkgs", "sops-nix": "sops-nix" @@ -208,6 +249,22 @@ "type": "github" } }, + "spectrum": { + "flake": false, + "locked": { + "lastModified": 1733308308, + "narHash": "sha256-+RcbMAjSxV1wW5UpS9abIG1lFZC8bITPiFIKNnE7RLs=", + "ref": "refs/heads/main", + "rev": "80c9e9830d460c944c8f730065f18bb733bc7ee2", + "revCount": 792, + "type": "git", + "url": "https://spectrum-os.org/git/spectrum" + }, + "original": { + "type": "git", + "url": "https://spectrum-os.org/git/spectrum" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -237,6 +294,21 @@ "repo": "default", "type": "github" } + }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 5596ce4..bbb3d4b 100644 --- a/flake.nix +++ b/flake.nix @@ -12,9 +12,11 @@ url = "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0.tar.gz"; inputs.nixpkgs.follows = "nixpkgs"; }; + microvm.url = "github:astro/microvm.nix"; + microvm.inputs.nixpkgs.follows = "nixpkgs"; }; - outputs = { self, nixpkgs, sops-nix, me-emacs, nix-darwin, home-manager, lix-module }@inputs: let + outputs = { self, nixpkgs, sops-nix, me-emacs, nix-darwin, home-manager, lix-module, microvm }@inputs: let overlays = import ./overlays/default.nix inputs; modules = import ./modules/default.nix inputs; @@ -68,6 +70,7 @@ ./machines/pericyte/configuration.nix modules.sops # lix-module.nixosModules.default + microvm.nixosModules.host ]; }; }; diff --git a/machines/pericyte/configuration.nix b/machines/pericyte/configuration.nix index aca40cf..09d8cd1 100644 --- a/machines/pericyte/configuration.nix +++ b/machines/pericyte/configuration.nix @@ -3,6 +3,8 @@ ./hardware-configuration.nix "${inputs.nixpkgs}/nixos/modules/profiles/headless.nix" "${inputs.nixpkgs}/nixos/modules/profiles/minimal.nix" + + ./microvm-configuration.nix ]; nix.settings.experimental-features = [ "nix-command" "flakes" ]; diff --git a/machines/pericyte/microvm-configuration.nix b/machines/pericyte/microvm-configuration.nix new file mode 100644 index 0000000..3af81ed --- /dev/null +++ b/machines/pericyte/microvm-configuration.nix @@ -0,0 +1,44 @@ +{ pkgs, ... }: { + networking.useNetworkd = true; + + systemd.network.netdevs."10-microvm".netdevConfig = { + Kind = "bridge"; + Name = "microvm"; + }; + systemd.network.networks."10-microvm" = { + matchConfig.Name = "microvm"; + networkConfig = { + DHCPServer = true; + IPv6SendRA = true; + }; + addresses = [ { + addressConfig.Address = "10.1.0.1/24"; + } { + addressConfig.Address = "fd12:3456:789a::1/64"; + } ]; + ipv6Prefixes = [ { + ipv6PrefixConfig.Prefix = "fd12:3456:789a::/64"; + } ]; + }; + + systemd.network.networks."11-microvm" = { + matchConfig.Name = "vm-*"; + # Attach to the bridge that was configured above + networkConfig.Bridge = "microvm"; + }; + + # Allow inbound traffic for the DHCP server + networking.firewall.allowedUDPPorts = [ 67 ]; + + networking.nat = { + enable = true; + # NAT66 exists and works. But if you have a proper subnet in + # 2000::/3 you should route that and remove this setting: + enableIPv6 = true; + + # Change this to the interface with upstream Internet access + externalInterface = "ens3"; + # The bridge where you want to provide Internet access + internalInterfaces = [ "microvm" ]; + }; +} From 22701fb35acbad6ae8558c63927ea17d90404155 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Tue, 1 Apr 2025 18:51:49 +0000 Subject: [PATCH 09/31] Pericyte: Microvm config --- machines/pericyte/microvm-configuration.nix | 46 ++------------------- 1 file changed, 4 insertions(+), 42 deletions(-) diff --git a/machines/pericyte/microvm-configuration.nix b/machines/pericyte/microvm-configuration.nix index 3af81ed..ba993fc 100644 --- a/machines/pericyte/microvm-configuration.nix +++ b/machines/pericyte/microvm-configuration.nix @@ -1,44 +1,6 @@ { pkgs, ... }: { - networking.useNetworkd = true; - - systemd.network.netdevs."10-microvm".netdevConfig = { - Kind = "bridge"; - Name = "microvm"; - }; - systemd.network.networks."10-microvm" = { - matchConfig.Name = "microvm"; - networkConfig = { - DHCPServer = true; - IPv6SendRA = true; - }; - addresses = [ { - addressConfig.Address = "10.1.0.1/24"; - } { - addressConfig.Address = "fd12:3456:789a::1/64"; - } ]; - ipv6Prefixes = [ { - ipv6PrefixConfig.Prefix = "fd12:3456:789a::/64"; - } ]; - }; - - systemd.network.networks."11-microvm" = { - matchConfig.Name = "vm-*"; - # Attach to the bridge that was configured above - networkConfig.Bridge = "microvm"; - }; - - # Allow inbound traffic for the DHCP server - networking.firewall.allowedUDPPorts = [ 67 ]; - - networking.nat = { - enable = true; - # NAT66 exists and works. But if you have a proper subnet in - # 2000::/3 you should route that and remove this setting: - enableIPv6 = true; - - # Change this to the interface with upstream Internet access - externalInterface = "ens3"; - # The bridge where you want to provide Internet access - internalInterfaces = [ "microvm" ]; - }; + microvm.autostart = [ + "vm-starbot" + "vm-starbot-dev" + ]; } From 56367f0e9c9494adf0cfef49c1ac437e3eb73072 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Tue, 1 Apr 2025 18:52:30 +0000 Subject: [PATCH 10/31] Pericyte: package: add btop --- machines/pericyte/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/machines/pericyte/configuration.nix b/machines/pericyte/configuration.nix index 09d8cd1..721d6f6 100644 --- a/machines/pericyte/configuration.nix +++ b/machines/pericyte/configuration.nix @@ -11,6 +11,7 @@ environment.systemPackages = with pkgs; [ git + btop ]; boot.tmp.cleanOnBoot = true; From 4ad1613d4503b192a4d734bd789667b56f70b9b0 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Fri, 18 Apr 2025 03:27:55 +0000 Subject: [PATCH 11/31] Pericyte: enable basic k3s --- machines/pericyte/configuration.nix | 1 + machines/pericyte/k3s.nix | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 machines/pericyte/k3s.nix diff --git a/machines/pericyte/configuration.nix b/machines/pericyte/configuration.nix index 721d6f6..c89a940 100644 --- a/machines/pericyte/configuration.nix +++ b/machines/pericyte/configuration.nix @@ -5,6 +5,7 @@ "${inputs.nixpkgs}/nixos/modules/profiles/minimal.nix" ./microvm-configuration.nix + ./k3s.nix ]; nix.settings.experimental-features = [ "nix-command" "flakes" ]; diff --git a/machines/pericyte/k3s.nix b/machines/pericyte/k3s.nix new file mode 100644 index 0000000..e8e8508 --- /dev/null +++ b/machines/pericyte/k3s.nix @@ -0,0 +1,19 @@ +{ pkgs, ... }: { + networking.firewall = { + allowedTCPPorts = [ + 6443 # k3s: required so that pods can reach the API server (running on port 6443 by default) + # 2379 # k3s, etcd clients: required if using a "High Availability Embedded etcd" configuration + # 2380 # k3s, etcd peers: required if using a "High Availability Embedded etcd" configuration + ]; + allowedUDPPorts = [ + # 8472 # k3s, flannel: required if using multi-node for inter-node networking + ]; + }; + services.k3s = { + enable = true; + role = "server"; + extraFlags = toString [ + # "--debug" # Optionally add additional args to k3s + ]; + }; +} From dc8108a8e4ffd6a0bae5c65d7db91e6aaa23f988 Mon Sep 17 00:00:00 2001 From: david Date: Fri, 25 Apr 2025 18:59:25 -0400 Subject: [PATCH 12/31] universeair: minor changes --- machines/universeair/configuration.nix | 1 + machines/universeair/libresprite_TODO_PR.nix | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 machines/universeair/libresprite_TODO_PR.nix diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index 668ab89..459adef 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -141,6 +141,7 @@ in environment.systemPackages = (with pkgs; [ me-emacs + svgbob (aspellWithDicts (p: with p;[ en en-computers diff --git a/machines/universeair/libresprite_TODO_PR.nix b/machines/universeair/libresprite_TODO_PR.nix new file mode 100644 index 0000000..222963f --- /dev/null +++ b/machines/universeair/libresprite_TODO_PR.nix @@ -0,0 +1,18 @@ + (libresprite.overrideAttrs (old: { + src = pkgs.fetchFromGitHub { + owner = "LibreSprite"; + repo = "LibreSprite"; + rev = "c99d3666b17ff731824e3eccc79cf3ec48564ad5"; + fetchSubmodules = true; + sha256 = "sha256-mdMdHQvl6Mt0oisZ4c/Wk6dvklq3Iyz05brbFxSIaj0="; + }; + patches = []; + buildInputs = old.buildInputs ++ (with pkgs; [ + libarchive + tinyxml-2 + ]); + postPatch = '' + sed -i -e 's/if(''${CMAKE_SYSTEM_NAME} MATCHES "Darwin")/if(FALSE)/' CMakeLists.txt + ''; + meta.broken = false; + })) From 827f98791a3ac2ec7933cc90f58a1ffb0dad8c5a Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sat, 26 Apr 2025 13:11:10 -0400 Subject: [PATCH 13/31] universedesktop: Vulkan beta no longer needed --- machines/universedesktop/desktop/graphics.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machines/universedesktop/desktop/graphics.nix b/machines/universedesktop/desktop/graphics.nix index f259404..fa6c7d8 100644 --- a/machines/universedesktop/desktop/graphics.nix +++ b/machines/universedesktop/desktop/graphics.nix @@ -9,7 +9,7 @@ powerManagement.finegrained = false; nvidiaSettings = true; open = true; - package = config.boot.kernelPackages.nvidiaPackages.vulkan_beta; + # package = config.boot.kernelPackages.nvidiaPackages.vulkan_beta; #package = let # rcu_patch = pkgs.fetchpatch { # url = "https://github.com/gentoo/gentoo/raw/c64caf53/x11-drivers/nvidia-drivers/files/nvidia-drivers-470.223.02-gpl-pfn_valid.patch"; From 5ab83572b30940d5e0a401ddcf58593bd9c9b231 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sat, 26 Apr 2025 13:19:45 -0400 Subject: [PATCH 14/31] Flake: Add deploy-rs --- flake.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/flake.nix b/flake.nix index bbb3d4b..6acfcc5 100644 --- a/flake.nix +++ b/flake.nix @@ -14,6 +14,7 @@ }; microvm.url = "github:astro/microvm.nix"; microvm.inputs.nixpkgs.follows = "nixpkgs"; + deploy-rs.url = "github:serokell/deploy-rs"; }; outputs = { self, nixpkgs, sops-nix, me-emacs, nix-darwin, home-manager, lix-module, microvm }@inputs: let From d8c3525423e05219738f50ef09a015ce1d07169a Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sat, 26 Apr 2025 20:41:26 -0400 Subject: [PATCH 15/31] Deploy: Pericyte --- flake.lock | 114 ++++++++++++++++++++++++++++++++++++++++++++++------- flake.nix | 17 +++++++- 2 files changed, 116 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index f45d58e..d550012 100644 --- a/flake.lock +++ b/flake.lock @@ -1,24 +1,42 @@ { "nodes": { - "flake-utils": { + "deploy-rs": { "inputs": { - "systems": "systems" + "flake-compat": "flake-compat", + "nixpkgs": "nixpkgs", + "utils": "utils" }, "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "lastModified": 1727447169, + "narHash": "sha256-3KyjMPUKHkiWhwR91J1YchF6zb6gvckCAY1jOE+ne0U=", + "owner": "serokell", + "repo": "deploy-rs", + "rev": "aa07eb05537d4cd025e2310397a6adcedfe72c76", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", + "owner": "serokell", + "repo": "deploy-rs", "type": "github" } }, - "flake-utils_2": { + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-utils": { "inputs": { "systems": "systems_2" }, @@ -36,7 +54,7 @@ "type": "github" } }, - "flake-utils_3": { + "flake-utils_2": { "inputs": { "systems": "systems_3" }, @@ -54,6 +72,24 @@ "type": "github" } }, + "flake-utils_3": { + "inputs": { + "systems": "systems_4" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "flakey-profile": { "locked": { "lastModified": 1712898590, @@ -189,6 +225,22 @@ } }, "nixpkgs": { + "locked": { + "lastModified": 1702272962, + "narHash": "sha256-D+zHwkwPc6oYQ4G3A1HuadopqRwUY/JkMwHz1YF7j4Q=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e97b3e4186bcadf0ef1b6be22b8558eab1cdeb5d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { "locked": { "lastModified": 1742422364, "narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=", @@ -204,7 +256,7 @@ "type": "github" } }, - "nixpkgs_2": { + "nixpkgs_3": { "locked": { "lastModified": 1741865919, "narHash": "sha256-4thdbnP6dlbdq+qZWTsm4ffAwoS8Tiq1YResB+RP6WE=", @@ -222,18 +274,19 @@ }, "root": { "inputs": { + "deploy-rs": "deploy-rs", "home-manager": "home-manager", "lix-module": "lix-module", "me-emacs": "me-emacs", "microvm": "microvm", "nix-darwin": "nix-darwin", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "sops-nix": "sops-nix" } }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_3" }, "locked": { "lastModified": 1742595978, @@ -309,6 +362,39 @@ "repo": "default", "type": "github" } + }, + "systems_4": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1701680307, + "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 6acfcc5..6677479 100644 --- a/flake.nix +++ b/flake.nix @@ -17,7 +17,7 @@ deploy-rs.url = "github:serokell/deploy-rs"; }; - outputs = { self, nixpkgs, sops-nix, me-emacs, nix-darwin, home-manager, lix-module, microvm }@inputs: let + outputs = { self, nixpkgs, sops-nix, me-emacs, nix-darwin, home-manager, lix-module, microvm, deploy-rs }@inputs: let overlays = import ./overlays/default.nix inputs; modules = import ./modules/default.nix inputs; @@ -102,6 +102,21 @@ }; }; + deploy = { + nodes = { + pericyte = { + hostname = "opcp"; + sshUser = "root"; + profiles.system = { + user = "root"; + path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations.pericyte; + }; + }; + }; + }; + # This is highly advised, and will prevent many possible mistakes + checks = builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) deploy-rs.lib; + hydraJobs = { inherit (me-emacs) packages; }; From cadadbee026cd1039eb82cd2513258a981759d77 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sat, 26 Apr 2025 20:41:37 -0400 Subject: [PATCH 16/31] Pericyte: add: OCI tools and tmux --- machines/pericyte/configuration.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/machines/pericyte/configuration.nix b/machines/pericyte/configuration.nix index c89a940..3d035a4 100644 --- a/machines/pericyte/configuration.nix +++ b/machines/pericyte/configuration.nix @@ -13,6 +13,8 @@ environment.systemPackages = with pkgs; [ git btop + tmux + oci-cli ]; boot.tmp.cleanOnBoot = true; From 0439f5083ed4ad9cbb21622f927f625e22eb3365 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Tue, 29 Apr 2025 17:07:40 -0400 Subject: [PATCH 17/31] Pericyte: Enable Lix --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 6677479..f26bae4 100644 --- a/flake.nix +++ b/flake.nix @@ -70,7 +70,7 @@ modules = [ ./machines/pericyte/configuration.nix modules.sops - # lix-module.nixosModules.default + lix-module.nixosModules.default microvm.nixosModules.host ]; }; From 7b6dc8c2a8b854a8220b24554573221c4ddb8913 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Wed, 30 Apr 2025 18:04:49 -0400 Subject: [PATCH 18/31] Pericyte: Disable zSwap --- machines/pericyte/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machines/pericyte/configuration.nix b/machines/pericyte/configuration.nix index 3d035a4..2cd8b65 100644 --- a/machines/pericyte/configuration.nix +++ b/machines/pericyte/configuration.nix @@ -18,7 +18,7 @@ ]; boot.tmp.cleanOnBoot = true; - zramSwap.enable = true; + # zramSwap.enable = true; networking.hostName = "pericyte"; networking.domain = ""; services.openssh.enable = true; From 09ca273f3ef772c9a969d5c8e8d794972096e668 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Wed, 30 Apr 2025 18:08:02 -0400 Subject: [PATCH 19/31] Pericyte: Disable Microvm and k3s --- machines/pericyte/configuration.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/machines/pericyte/configuration.nix b/machines/pericyte/configuration.nix index 2cd8b65..037992d 100644 --- a/machines/pericyte/configuration.nix +++ b/machines/pericyte/configuration.nix @@ -4,8 +4,8 @@ "${inputs.nixpkgs}/nixos/modules/profiles/headless.nix" "${inputs.nixpkgs}/nixos/modules/profiles/minimal.nix" - ./microvm-configuration.nix - ./k3s.nix + # ./microvm-configuration.nix + # ./k3s.nix ]; nix.settings.experimental-features = [ "nix-command" "flakes" ]; From 0ffee96f6ccd7b4aae755dc52e105eacc5779213 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Wed, 30 Apr 2025 18:35:22 -0400 Subject: [PATCH 20/31] Pericyte: Enable Podman --- machines/pericyte/configuration.nix | 1 + machines/pericyte/podman.nix | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 machines/pericyte/podman.nix diff --git a/machines/pericyte/configuration.nix b/machines/pericyte/configuration.nix index 037992d..7ad8a69 100644 --- a/machines/pericyte/configuration.nix +++ b/machines/pericyte/configuration.nix @@ -4,6 +4,7 @@ "${inputs.nixpkgs}/nixos/modules/profiles/headless.nix" "${inputs.nixpkgs}/nixos/modules/profiles/minimal.nix" + ./podman.nix # ./microvm-configuration.nix # ./k3s.nix ]; diff --git a/machines/pericyte/podman.nix b/machines/pericyte/podman.nix new file mode 100644 index 0000000..7be3b4e --- /dev/null +++ b/machines/pericyte/podman.nix @@ -0,0 +1,19 @@ +{ pkgs, ... }: { + # Enable common container config files in /etc/containers + virtualisation.containers.enable = true; + virtualisation = { + podman = { + enable = true; + + # Required for containers under podman-compose to be able to talk to each other. + defaultNetwork.settings.dns_enabled = true; + }; + }; + + # Useful other development tools + environment.systemPackages = with pkgs; [ + dive # look into docker image layers + podman-tui # status of containers in the terminal + podman-compose # start group of containers for dev + ]; +} From 4cb380812b79be9fa89d31ee5e9ab626f1992a56 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Wed, 30 Apr 2025 18:35:32 -0400 Subject: [PATCH 21/31] Pericyte: Add swap --- machines/pericyte/hardware-configuration.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/machines/pericyte/hardware-configuration.nix b/machines/pericyte/hardware-configuration.nix index b26ab3a..1ca17dd 100644 --- a/machines/pericyte/hardware-configuration.nix +++ b/machines/pericyte/hardware-configuration.nix @@ -7,8 +7,12 @@ device = "nodev"; }; fileSystems."/boot" = { device = "/dev/disk/by-uuid/FCE4-1F46"; fsType = "vfat"; }; + fileSystems."/" = { device = "/dev/sda1"; fsType = "ext4"; }; + swapDevices = [ + { + device = "/swapfile"; + } + ]; boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "xen_blkfront" "vmw_pvscsi" ]; boot.initrd.kernelModules = [ "nvme" ]; - fileSystems."/" = { device = "/dev/sda1"; fsType = "ext4"; }; - } From d14ed789f53e0c62f089e5c52310288108a6ad1e Mon Sep 17 00:00:00 2001 From: David Crompton Date: Thu, 1 May 2025 09:53:25 -0400 Subject: [PATCH 22/31] Pericyte: Podman Utilities --- machines/pericyte/podman.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/machines/pericyte/podman.nix b/machines/pericyte/podman.nix index 7be3b4e..a23a625 100644 --- a/machines/pericyte/podman.nix +++ b/machines/pericyte/podman.nix @@ -13,6 +13,8 @@ # Useful other development tools environment.systemPackages = with pkgs; [ dive # look into docker image layers + skopeo # Inspect images + podlet # create quadlets (systemd units) podman-tui # status of containers in the terminal podman-compose # start group of containers for dev ]; From d7fa9e2cc7510ddd833bf1369595da5837b52a39 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Thu, 1 May 2025 09:53:42 -0400 Subject: [PATCH 23/31] Pericyte: Enable container registry (to be configured) --- machines/pericyte/configuration.nix | 1 + machines/pericyte/container-registry.nix | 6 ++++++ 2 files changed, 7 insertions(+) create mode 100644 machines/pericyte/container-registry.nix diff --git a/machines/pericyte/configuration.nix b/machines/pericyte/configuration.nix index 7ad8a69..511f39e 100644 --- a/machines/pericyte/configuration.nix +++ b/machines/pericyte/configuration.nix @@ -5,6 +5,7 @@ "${inputs.nixpkgs}/nixos/modules/profiles/minimal.nix" ./podman.nix + ./container-registry.nix # ./microvm-configuration.nix # ./k3s.nix ]; diff --git a/machines/pericyte/container-registry.nix b/machines/pericyte/container-registry.nix new file mode 100644 index 0000000..85f7a82 --- /dev/null +++ b/machines/pericyte/container-registry.nix @@ -0,0 +1,6 @@ +{ pkgs, ... }: { + services.dockerRegistry = { + enable = true; + package = pkgs.distribution; + }; +} From 4e3f4b416f478286732fbcf879723f34ae203d89 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sun, 11 May 2025 18:47:47 -0400 Subject: [PATCH 24/31] Pericyte: Test --- machines/pericyte/configuration.nix | 1 + machines/pericyte/test.nix | 32 +++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 machines/pericyte/test.nix diff --git a/machines/pericyte/configuration.nix b/machines/pericyte/configuration.nix index 511f39e..1aec683 100644 --- a/machines/pericyte/configuration.nix +++ b/machines/pericyte/configuration.nix @@ -6,6 +6,7 @@ ./podman.nix ./container-registry.nix + ./test.nix # ./microvm-configuration.nix # ./k3s.nix ]; diff --git a/machines/pericyte/test.nix b/machines/pericyte/test.nix new file mode 100644 index 0000000..82f4603 --- /dev/null +++ b/machines/pericyte/test.nix @@ -0,0 +1,32 @@ +{ pkgs, ... }: { + users.groups.peertube = { }; + users.users.peertube = { + isSystemUser = true; + group = "peertube"; + home = "/var/lib/peertube"; + createHome = true; + uid = 2342; + subUidRanges = [ + { + count = 65536; + startUid = 2147483646; + } + ]; + subGidRanges = [ + { + count = 65536; + startGid = 2147483647; + } + ]; + }; + virtualisation.oci-containers = { + backend = "podman"; + # containers.peertube = { + # image = "chocobozzz/peertube:latest"; + # ports = [ ]; + # podman = { + # user = "peertube"; + # }; + # }; + }; +} From 7d7838e43c8bcc8b058274daab200dbcd6142943 Mon Sep 17 00:00:00 2001 From: david Date: Wed, 28 May 2025 16:55:51 -0400 Subject: [PATCH 25/31] universeair: Disable native-comp (broken in macOS 15.4+ nixpkgs issue#395169) --- machines/universeair/configuration.nix | 8 ++++++-- machines/universeair/skhd.nix | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index 459adef..92acab4 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -55,7 +55,9 @@ in services.emacs = { # Emacsclient behaving weirdly # enable = true; - package = pkgs.me-emacs; + package = pkgs.me-emacs.override { + withNativeCompilation = false; + }; }; environment.variables = { @@ -140,7 +142,9 @@ in ]; environment.systemPackages = (with pkgs; [ - me-emacs + (me-emacs.override { + withNativeCompilation = false; + }) svgbob (aspellWithDicts (p: with p;[ en diff --git a/machines/universeair/skhd.nix b/machines/universeair/skhd.nix index a5b508f..a6ee379 100644 --- a/machines/universeair/skhd.nix +++ b/machines/universeair/skhd.nix @@ -2,7 +2,7 @@ services.skhd = { enable = true; skhdConfig = '' - cmd + shift - e : open '${pkgs.me-emacs}/Applications/Emacs.app' + cmd + shift - e : open '${(pkgs.me-emacs.override {withNativeCompilation = false;})}/Applications/Emacs.app' cmd + shift + ctrl - e : kitty -d ~ -1 ''; }; From 59631b5d75ce9c01339e55c816b772b93a7444aa Mon Sep 17 00:00:00 2001 From: david Date: Tue, 10 Jun 2025 17:11:19 -0400 Subject: [PATCH 26/31] universeair: Add trusted users --- machines/universeair/configuration.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index 92acab4..180f7ef 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -13,6 +13,10 @@ in nixpkgs.config.allowUnfree = true; # nix.package = pkgs.nixUnstable; nix.settings.auto-optimise-store = false; + nix.settings.trusted-users = [ + "root" + "universelaptop" + ]; users.users.universelaptop = { name = "universelaptop"; From 485b787d09b24005eddc1838b743a0833efae16f Mon Sep 17 00:00:00 2001 From: david Date: Tue, 10 Jun 2025 17:13:34 -0400 Subject: [PATCH 27/31] universeair: disable app-fix hack --- machines/universeair/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/machines/universeair/configuration.nix b/machines/universeair/configuration.nix index 180f7ef..104c437 100644 --- a/machines/universeair/configuration.nix +++ b/machines/universeair/configuration.nix @@ -3,7 +3,7 @@ in { imports = [ # Install Apps Detactable by Spotlight - ./app-fix.nix + # ./app-fix.nix # Tiling Window Manager ./yabai.nix # Shortcuts babe, not Automator From 84ee16c98ac3f6022f4ac7e7a05e15e8e11d7912 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Fri, 20 Jun 2025 01:05:27 -0400 Subject: [PATCH 28/31] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'deploy-rs': 'github:serokell/deploy-rs/aa07eb05537d4cd025e2310397a6adcedfe72c76' (2024-09-27) → 'github:serokell/deploy-rs/6bc76b872374845ba9d645a2f012b764fecd765f' (2025-06-05) • Updated input 'deploy-rs/flake-compat': 'github:edolstra/flake-compat/0f9255e01c2351cc7d116c072cb317785dd33b33' (2023-10-04) → 'github:edolstra/flake-compat/ff81ac966bb2cae68946d5ed5fc4994f96d0ffec' (2024-12-04) • Updated input 'deploy-rs/nixpkgs': 'github:NixOS/nixpkgs/e97b3e4186bcadf0ef1b6be22b8558eab1cdeb5d' (2023-12-11) → 'github:NixOS/nixpkgs/bd3bac8bfb542dbde7ffffb6987a1a1f9d41699f' (2025-03-26) • Updated input 'deploy-rs/utils': 'github:numtide/flake-utils/4022d587cbbfd70fe950c1e2083a02621806a725' (2023-12-04) → 'github:numtide/flake-utils/11707dc2f618dd54ca8739b309ec4fc024de578b' (2024-11-13) • Updated input 'home-manager': 'github:nix-community/home-manager/296ddc64627f4a6a4eb447852d7346b9dd16197d' (2025-03-21) → 'github:nix-community/home-manager/863842639722dd12ae9e37ca83bcb61a63b36f6c' (2025-06-19) • Updated input 'microvm': 'github:astro/microvm.nix/773d5a04e2e10ca7b412270dea11276a496e1b61' (2025-03-27) → 'github:astro/microvm.nix/fd9f5dba1ffee5ad6f29394b2a9e4c66c1ce77dc' (2025-06-19) • Updated input 'microvm/spectrum': 'git+https://spectrum-os.org/git/spectrum?ref=refs/heads/main&rev=80c9e9830d460c944c8f730065f18bb733bc7ee2' (2024-12-04) → 'git+https://spectrum-os.org/git/spectrum?ref=refs/heads/main&rev=d927e78530892ec8ed389e8fae5f38abee00ad87' (2025-05-10) • Updated input 'nix-darwin': 'github:LnL7/nix-darwin/e9f41de2a81f04390afd106959adf352a207628f' (2025-03-21) → 'github:LnL7/nix-darwin/0d71cbf88d63e938b37b85b3bf8b238bcf7b39b9' (2025-06-19) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/a84ebe20c6bc2ecbcfb000a50776219f48d134cc' (2025-03-19) → 'github:NixOS/nixpkgs/9e83b64f727c88a7711a2c463a7b16eedb69a84c' (2025-06-17) • Updated input 'sops-nix': 'github:Mic92/sops-nix/b7756921b002de60fb66782effad3ce8bdb5b25d' (2025-03-21) → 'github:Mic92/sops-nix/77c423a03b9b2b79709ea2cb63336312e78b72e2' (2025-06-17) • Updated input 'sops-nix/nixpkgs': 'github:NixOS/nixpkgs/573c650e8a14b2faa0041645ab18aed7e60f0c9a' (2025-03-13) → 'github:NixOS/nixpkgs/ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c' (2025-04-17) --- flake.lock | 68 +++++++++++++++++++++++++++--------------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/flake.lock b/flake.lock index d550012..36b12ba 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1727447169, - "narHash": "sha256-3KyjMPUKHkiWhwR91J1YchF6zb6gvckCAY1jOE+ne0U=", + "lastModified": 1749105467, + "narHash": "sha256-hXh76y/wDl15almBcqvjryB50B0BaiXJKk20f314RoE=", "owner": "serokell", "repo": "deploy-rs", - "rev": "aa07eb05537d4cd025e2310397a6adcedfe72c76", + "rev": "6bc76b872374845ba9d645a2f012b764fecd765f", "type": "github" }, "original": { @@ -23,11 +23,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", "type": "github" }, "original": { @@ -112,11 +112,11 @@ ] }, "locked": { - "lastModified": 1742588233, - "narHash": "sha256-Fi5g8H5FXMSRqy+mU6gPG0v+C9pzjYbkkiePtz8+PpA=", + "lastModified": 1750304462, + "narHash": "sha256-Mj5t4yX05/rXnRqJkpoLZTWqgStB88Mr/fegTRqyiWc=", "owner": "nix-community", "repo": "home-manager", - "rev": "296ddc64627f4a6a4eb447852d7346b9dd16197d", + "rev": "863842639722dd12ae9e37ca83bcb61a63b36f6c", "type": "github" }, "original": { @@ -190,11 +190,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1743083165, - "narHash": "sha256-Fz7AiCJWtoWZ2guJwO3B1h3RuJxYWaCzFIqY0Kmkyrs=", + "lastModified": 1750358184, + "narHash": "sha256-17EYMeY5v8KRk9HW6Z4dExY8Wg4y/zM2eM2wbbx+vMs=", "owner": "astro", "repo": "microvm.nix", - "rev": "773d5a04e2e10ca7b412270dea11276a496e1b61", + "rev": "fd9f5dba1ffee5ad6f29394b2a9e4c66c1ce77dc", "type": "github" }, "original": { @@ -210,11 +210,11 @@ ] }, "locked": { - "lastModified": 1742595055, - "narHash": "sha256-cEetDber6LF8W4ThmRc4rwKs/o8y2GH0pUdX7e6CnAQ=", + "lastModified": 1750325256, + "narHash": "sha256-vvlxGz/waqJ3TGqM/iqXbnEc7/R1qnEXmaBiPaQ1RE0=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "e9f41de2a81f04390afd106959adf352a207628f", + "rev": "0d71cbf88d63e938b37b85b3bf8b238bcf7b39b9", "type": "github" }, "original": { @@ -226,11 +226,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1702272962, - "narHash": "sha256-D+zHwkwPc6oYQ4G3A1HuadopqRwUY/JkMwHz1YF7j4Q=", + "lastModified": 1743014863, + "narHash": "sha256-jAIUqsiN2r3hCuHji80U7NNEafpIMBXiwKlSrjWMlpg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e97b3e4186bcadf0ef1b6be22b8558eab1cdeb5d", + "rev": "bd3bac8bfb542dbde7ffffb6987a1a1f9d41699f", "type": "github" }, "original": { @@ -242,11 +242,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1742422364, - "narHash": "sha256-mNqIplmEohk5jRkqYqG19GA8MbQ/D4gQSK0Mu4LvfRQ=", + "lastModified": 1750134718, + "narHash": "sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a84ebe20c6bc2ecbcfb000a50776219f48d134cc", + "rev": "9e83b64f727c88a7711a2c463a7b16eedb69a84c", "type": "github" }, "original": { @@ -258,11 +258,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1741865919, - "narHash": "sha256-4thdbnP6dlbdq+qZWTsm4ffAwoS8Tiq1YResB+RP6WE=", + "lastModified": 1744868846, + "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "573c650e8a14b2faa0041645ab18aed7e60f0c9a", + "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c", "type": "github" }, "original": { @@ -289,11 +289,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1742595978, - "narHash": "sha256-05onsoMrLyXE4XleDCeLC3bXnC4nyUbKWInGwM7v6hU=", + "lastModified": 1750119275, + "narHash": "sha256-Rr7Pooz9zQbhdVxux16h7URa6mA80Pb/G07T4lHvh0M=", "owner": "Mic92", "repo": "sops-nix", - "rev": "b7756921b002de60fb66782effad3ce8bdb5b25d", + "rev": "77c423a03b9b2b79709ea2cb63336312e78b72e2", "type": "github" }, "original": { @@ -305,11 +305,11 @@ "spectrum": { "flake": false, "locked": { - "lastModified": 1733308308, - "narHash": "sha256-+RcbMAjSxV1wW5UpS9abIG1lFZC8bITPiFIKNnE7RLs=", + "lastModified": 1746869549, + "narHash": "sha256-BKZ/yZO/qeLKh9YqVkKB6wJiDQJAZNN5rk5NsMImsWs=", "ref": "refs/heads/main", - "rev": "80c9e9830d460c944c8f730065f18bb733bc7ee2", - "revCount": 792, + "rev": "d927e78530892ec8ed389e8fae5f38abee00ad87", + "revCount": 862, "type": "git", "url": "https://spectrum-os.org/git/spectrum" }, @@ -383,11 +383,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { From dfe853ec96cb864f6cbab1c58fe996a0e8e08c54 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Fri, 20 Jun 2025 01:12:03 -0400 Subject: [PATCH 29/31] substituteAll -> replaceVars --- machines/universedesktop/desktop/dwm.nix | 33 ++++++++++-------------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/machines/universedesktop/desktop/dwm.nix b/machines/universedesktop/desktop/dwm.nix index 4220f42..4a8a007 100644 --- a/machines/universedesktop/desktop/dwm.nix +++ b/machines/universedesktop/desktop/dwm.nix @@ -2,11 +2,7 @@ nixpkgs.overlays = [ (final: prev: { st = prev.st.override { - conf = builtins.readFile (pkgs.substituteAll { - src = ./dwm/st-config.def.h; - env = { - }; - }); + conf = builtins.readFile (pkgs.replaceVars ./dwm/st-config.def.h {}); }; }) ]; @@ -18,21 +14,18 @@ emacsclient --create-frame --alternate-editor="" ''; in pkgs.dwm.override { - conf = pkgs.substituteAll { - src = ./dwm/config.h; - env = { - dmenucmd="${pkgs.dmenu}/bin/dmenu_run"; - termcmd="${pkgs.st}/bin/st"; - editcmd="${launch_emacs}"; - playcmd=pkgs.writeScript "playerctl-play-pause" '' - #!${pkgs.bash}/bin/bash - ${pkgs.playerctl}/bin/playerctl play-pause - ''; - scrncmd=pkgs.writeScript "screenshot-region" '' - #!${pkgs.bash}/bin/bash - ${pkgs.maim}/bin/maim -o -s | ${pkgs.xclip}/bin/xclip -sel clip -t image/png - ''; - }; + conf = pkgs.replaceVars ./dwm/config.h { + dmenucmd="${pkgs.dmenu}/bin/dmenu_run"; + termcmd="${pkgs.st}/bin/st"; + editcmd="${launch_emacs}"; + playcmd=pkgs.writeScript "playerctl-play-pause" '' + #!${pkgs.bash}/bin/bash + ${pkgs.playerctl}/bin/playerctl play-pause + ''; + scrncmd=pkgs.writeScript "screenshot-region" '' + #!${pkgs.bash}/bin/bash + ${pkgs.maim}/bin/maim -o -s | ${pkgs.xclip}/bin/xclip -sel clip -t image/png + ''; }; patches = [ ./dwm/fullscreen.patch From cde630dc744a89e255415978bdeaa4b46f9514c0 Mon Sep 17 00:00:00 2001 From: David Crompton Date: Fri, 20 Jun 2025 01:13:10 -0400 Subject: [PATCH 30/31] Vesktop -> Discord --- machines/universedesktop/programs/desktop.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/machines/universedesktop/programs/desktop.nix b/machines/universedesktop/programs/desktop.nix index e9081a3..c928652 100644 --- a/machines/universedesktop/programs/desktop.nix +++ b/machines/universedesktop/programs/desktop.nix @@ -24,9 +24,7 @@ nextcloud-client libsForQt5.kdeconnect-kde - vesktop - slack - signal-desktop + discord zoom-us anki From 8d71ea56579bbff65ca57f03818d405cfdb4d65e Mon Sep 17 00:00:00 2001 From: David Crompton Date: Sun, 22 Jun 2025 10:23:11 -0400 Subject: [PATCH 31/31] Perciyte: disable lix (broken) --- flake.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index f26bae4..6cd2372 100644 --- a/flake.nix +++ b/flake.nix @@ -63,14 +63,15 @@ overlays.emacs ]) modules.sops - lix-module.nixosModules.default + # Broken w/ this nixpkgs input + # lix-module.nixosModules.default ]; }; pericyte = nixosSystem' { modules = [ ./machines/pericyte/configuration.nix modules.sops - lix-module.nixosModules.default + #lix-module.nixosModules.default microvm.nixosModules.host ]; };