From 4031a614a8b23f701b91a3542ee52d116dc5ed16 Mon Sep 17 00:00:00 2001 From: atagen Date: Fri, 14 Jun 2024 14:55:55 +1000 Subject: [PATCH] idek lots --- TODO | 17 ++++ flake.lock | 186 ++++++++++++++++++++----------------- flake.nix | 8 +- home/bolt.nix | 4 +- home/modules/documents.nix | 2 +- system/cachix.nix | 4 +- system/configuration.nix | 9 +- system/quiver.nix | 8 +- util/overlay.nix | 23 +++-- 9 files changed, 139 insertions(+), 122 deletions(-) diff --git a/TODO b/TODO index e62bcc4..7d833fe 100644 --- a/TODO +++ b/TODO @@ -16,3 +16,20 @@ derivations to allow you to keep them utd by yourself concept: a nixos-like OS with standardised option sets that nonetheless uses composable flake pieces to construct the whole OS, thus breaking the monorepo syndrome + +concept: +direnv+flake with services +possibilities: +* make own systemd user slice and run services out of it + - can we adapt nixos service modules directly? + - most lightweight option + - can share services between projects by sharing slice + +* run a command directly inside systemd-nspawn + - fully virtualised without needing an image or anything + - should be very fast + +* roll an oci image and run inside systemd-nspawn + - this allows reuse of the entire nixos module system, + including service config + - docker-like port forwarding diff --git a/flake.lock b/flake.lock index 93fb194..3ae0772 100644 --- a/flake.lock +++ b/flake.lock @@ -72,11 +72,11 @@ "flake-compat_4": { "flake": false, "locked": { - "lastModified": 1688025799, - "narHash": "sha256-ktpB4dRtnksm9F5WawoIkEneh1nrEvuxb5lJFt1iOyw=", + "lastModified": 1717312683, + "narHash": "sha256-FrlieJH50AuvagamEvWMIE6D2OAnERuDboFDYAED/dE=", "owner": "nix-community", "repo": "flake-compat", - "rev": "8bf105319d44f6b9f0d764efa4fdef9f1cc9ba1c", + "rev": "38fd3954cf65ce6faf3d0d45cd26059e059f07ea", "type": "github" }, "original": { @@ -122,24 +122,6 @@ "inputs": { "systems": "systems" }, - "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_2": { - "inputs": { - "systems": "systems_2" - }, "locked": { "lastModified": 1709126324, "narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=", @@ -154,9 +136,9 @@ "type": "github" } }, - "flake-utils_3": { + "flake-utils_2": { "inputs": { - "systems": "systems_3" + "systems": "systems_2" }, "locked": { "lastModified": 1710146030, @@ -172,9 +154,9 @@ "type": "github" } }, - "flake-utils_4": { + "flake-utils_3": { "inputs": { - "systems": "systems_4" + "systems": "systems_3" }, "locked": { "lastModified": 1681202837, @@ -190,6 +172,24 @@ "type": "github" } }, + "flake-utils_4": { + "inputs": { + "systems": "systems_4" + }, + "locked": { + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "flatpaks": { "locked": { "lastModified": 1711997375, @@ -230,18 +230,16 @@ "helix": { "inputs": { "crane": "crane", - "flake-utils": "flake-utils_2", - "nixpkgs": [ - "nixpkgs" - ], + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs", "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1716308526, - "narHash": "sha256-VMJmUxR+yK28PXN7ZB98bEyw0pSOdsNxNCrc6SS9i28=", + "lastModified": 1718241864, + "narHash": "sha256-/XOumFymqlUSS2OZZSOIUL7z1vQyxOEpuOqynH85aYI=", "owner": "helix-editor", "repo": "helix", - "rev": "41dec92b0feb77719b07334b7a7f53152866e4e3", + "rev": "9c479e6d2de3bca9dec304f9182cee2b1c0ad766", "type": "github" }, "original": { @@ -257,11 +255,11 @@ ] }, "locked": { - "lastModified": 1715930644, - "narHash": "sha256-W9pyM3/vePxrffHtzlJI6lDS3seANQ+Nqp+i58O46LI=", + "lastModified": 1718243258, + "narHash": "sha256-abBpj2VU8p6qlRzTU8o22q68MmOaZ4v8zZ4UlYl5YRU=", "owner": "nix-community", "repo": "home-manager", - "rev": "e3ad5108f54177e6520535768ddbf1e6af54b59d", + "rev": "8d5e27b4807d25308dfe369d5a923d87e7dbfda3", "type": "github" }, "original": { @@ -293,11 +291,11 @@ ] }, "locked": { - "lastModified": 1716170277, - "narHash": "sha256-fCAiox/TuzWGVaAz16PxrR4Jtf9lN5dwWL2W74DS0yI=", + "lastModified": 1718011381, + "narHash": "sha256-sFXI+ZANp/OC+MwfJoZgPSf4xMdtzQMe1pS3FGti4C8=", "owner": "Mic92", "repo": "nix-index-database", - "rev": "e0638db3db43b582512a7de8c0f8363a162842b9", + "rev": "88ad3d7501e22b2401dd72734b032b7baa794434", "type": "github" }, "original": { @@ -309,17 +307,17 @@ "nix-ld-rs": { "inputs": { "flake-compat": "flake-compat", - "flake-utils": "flake-utils_3", + "flake-utils": "flake-utils_2", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1716116133, - "narHash": "sha256-CwOldvBBXr1K2Zr6z5chHtieBBIQqk+k5RKt3hkF1OU=", + "lastModified": 1718260327, + "narHash": "sha256-P2PsdY2kLin3S0AW7dYWWI+1/a/+onp3KaAz8O32EnY=", "owner": "nix-community", "repo": "nix-ld-rs", - "rev": "bca096389e440f0f20a6a795546f65e2f2f7410d", + "rev": "753a1539846e6f75c88583777a3f6e40f4064302", "type": "github" }, "original": { @@ -331,7 +329,7 @@ "nix-rice": { "inputs": { "flake-compat": "flake-compat_2", - "flake-utils": "flake-utils_4", + "flake-utils": "flake-utils_3", "kitty-themes-src": "kitty-themes-src", "nixpkgs-lib": "nixpkgs-lib", "pre-commit-hooks": "pre-commit-hooks" @@ -350,33 +348,18 @@ "type": "github" } }, - "nix-std": { - "locked": { - "lastModified": 1710870712, - "narHash": "sha256-e+7MJF2gsgTBuOWv4mCimSP0D9+naeFSw9a7N3yEmv4=", - "owner": "chessai", - "repo": "nix-std", - "rev": "31bbc925750cc9d8f828fe55cee1a2bd985e0c00", - "type": "github" - }, - "original": { - "owner": "chessai", - "repo": "nix-std", - "type": "github" - } - }, "nixd": { "inputs": { "flake-parts": "flake-parts", "flake-root": "flake-root", - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1716179952, - "narHash": "sha256-YYAkj/wBEMO75nnJbcB4cjSfGzlkmaRao1WeULDIdGc=", + "lastModified": 1718200260, + "narHash": "sha256-YcifM/i8wMzZHjyY9FNoruDb5Arm6Xw4RKfdvZBLdQU=", "owner": "nix-community", "repo": "nixd", - "rev": "ff3eb7117ea030d8d466d364513394cf47b58715", + "rev": "6811dcf03ac055752a3f28cbabf90bd0b0cee417", "type": "github" }, "original": { @@ -388,14 +371,15 @@ "nixos-cosmic": { "inputs": { "flake-compat": "flake-compat_4", - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_4", + "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1716428017, - "narHash": "sha256-Joo4zSiVgaUldBef7+ba21rdPy/QiHhtXBUSw4sDIfc=", + "lastModified": 1718332244, + "narHash": "sha256-91RPJQ00iEtqvY21lPtPQNRWtips9X/iuIXOCS8qeZI=", "owner": "lilyinstarlight", "repo": "nixos-cosmic", - "rev": "5e7aa8a7ff13e91ae85158aee0beb01b81af9529", + "rev": "aed79d6d7e67d4229378c9812fe464ceeb90473f", "type": "github" }, "original": { @@ -406,15 +390,15 @@ }, "nixpkgs": { "locked": { - "lastModified": 1681303793, - "narHash": "sha256-JEdQHsYuCfRL2PICHlOiH/2ue3DwoxUX7DJ6zZxZXFk=", - "owner": "NixOS", + "lastModified": 1709479366, + "narHash": "sha256-n6F0n8UV6lnTZbYPl1A9q1BS0p4hduAv1mGAP17CVd0=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "fe2ecaf706a5907b5e54d979fbde4924d84b65fc", + "rev": "b8697e57f10292a6165a20f03d2f42920dfaf973", "type": "github" }, "original": { - "owner": "NixOS", + "owner": "nixos", "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" @@ -469,7 +453,39 @@ "type": "github" } }, + "nixpkgs-stable_2": { + "locked": { + "lastModified": 1718208800, + "narHash": "sha256-US1tAChvPxT52RV8GksWZS415tTS7PV42KTc2PNDBmc=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "cc54fb41d13736e92229c21627ea4f22199fee6b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_2": { + "locked": { + "lastModified": 1681303793, + "narHash": "sha256-JEdQHsYuCfRL2PICHlOiH/2ue3DwoxUX7DJ6zZxZXFk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "fe2ecaf706a5907b5e54d979fbde4924d84b65fc", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1714562304, "narHash": "sha256-Mr3U37Rh6tH0FbaDFu0aZDwk9mPAe7ASaqDOGgLqqLU=", @@ -485,13 +501,13 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { - "lastModified": 1716293225, - "narHash": "sha256-pU9ViBVE3XYb70xZx+jK6SEVphvt7xMTbm6yDIF4xPs=", + "lastModified": 1718160348, + "narHash": "sha256-9YrUjdztqi4Gz8n3mBuqvCkMo4ojrA6nASwyIKWMpus=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3eaeaeb6b1e08a016380c279f8846e0bd8808916", + "rev": "57d6973abba7ea108bac64ae7629e7431e0199b6", "type": "github" }, "original": { @@ -503,11 +519,11 @@ }, "nur": { "locked": { - "lastModified": 1716424553, - "narHash": "sha256-gcn3IDjugAsyR1U7k/atVN/F/S4DJphrkpzoyYPIyHg=", + "lastModified": 1718337354, + "narHash": "sha256-gbkVNpb2cnt5uVrxWykzIO4xCC/FtUhtKNPJ/792Uh8=", "owner": "nix-community", "repo": "NUR", - "rev": "e1b5b402c68cd12c45bfddabe250de1430f02994", + "rev": "6a09d5a34d9f535b2b03c62ea6e4b23d12d5ea83", "type": "github" }, "original": { @@ -524,7 +540,7 @@ "flake-utils" ], "gitignore": "gitignore", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "nixpkgs-stable": "nixpkgs-stable" }, "locked": { @@ -543,14 +559,12 @@ }, "root": { "inputs": { - "flake-utils": "flake-utils", "flatpaks": "flatpaks", "helix": "helix", "home-manager": "home-manager", "nix-index-database": "nix-index-database", "nix-ld-rs": "nix-ld-rs", "nix-rice": "nix-rice", - "nix-std": "nix-std", "nixd": "nixd", "nixos-cosmic": "nixos-cosmic", "nixpkgs": [ @@ -588,19 +602,17 @@ }, "rust-overlay_2": { "inputs": { - "flake-utils": [ - "flake-utils" - ], + "flake-utils": "flake-utils_4", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1716344225, - "narHash": "sha256-e4tYIu1BOcq2DiGSQqynyREXCnKohjdcMS9wvLVxT38=", + "lastModified": 1718331519, + "narHash": "sha256-6Ru37wS8uec626nHVIh6hSpCYB7eNc3RPFa2U//bhw4=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "e8239080c897174a646c36a88789c9cbf53b7951", + "rev": "419e7fae2731f41dd9b3e34dfe8802be68558b92", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index e3a5633..c965009 100644 --- a/flake.nix +++ b/flake.nix @@ -7,19 +7,14 @@ nur.url = "github:/nix-community/NUR"; - nix-std.url = "github:chessai/nix-std"; - rust-overlay = { url = "github:oxalica/rust-overlay"; inputs.nixpkgs.follows = "nixpkgs"; - inputs.flake-utils.follows = "flake-utils"; }; - flake-utils.url = "github:numtide/flake-utils"; - helix = { url = "github:helix-editor/helix"; - inputs.nixpkgs.follows = "nixpkgs"; + # inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { @@ -61,7 +56,6 @@ nix-ld-rs, nix-index-database, nix-rice, - nix-std, ... } @ inputs: let inherit (self) outputs; diff --git a/home/bolt.nix b/home/bolt.nix index 8b634b0..544bcdf 100644 --- a/home/bolt.nix +++ b/home/bolt.nix @@ -13,8 +13,6 @@ home.packages = with pkgs; [ nicotine-plus + private-gpt ]; - - # scuffed! - # services.flatpak.packages = ["org.nicotine_plus.Nicotine"]; } diff --git a/home/modules/documents.nix b/home/modules/documents.nix index b2dc76c..c53140b 100644 --- a/home/modules/documents.nix +++ b/home/modules/documents.nix @@ -11,7 +11,7 @@ }; }; } - # "org.onlyoffice.desktopeditors" + "org.onlyoffice.desktopeditors" "org.libreoffice.LibreOffice" "com.jgraph.drawio.desktop" ]; diff --git a/system/cachix.nix b/system/cachix.nix index c69a171..5ada952 100644 --- a/system/cachix.nix +++ b/system/cachix.nix @@ -11,7 +11,7 @@ in { inherit imports; nix.settings = { - substituters = ["https://cache.nixos.org" " https://cache.nixos.org/" "https://cosmic.cachix.org/" "https://nix-community.cachix.org" " https://helix.cachix.org" "https://cosmic.cachix.org"]; - trusted-public-keys = ["cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" "cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "helix.cachix.org-1:ejp9KQpR1FBI2onstMQ34yogDm4OgU2ru6lIwPvuCVs="]; + substituters = ["https://cache.nixos.org" "https://nix-community.cachix.org" "https://helix.cachix.org" "https://cosmic.cachix.org"]; + trusted-public-keys = ["cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "helix.cachix.org-1:ejp9KQpR1FBI2onstMQ34yogDm4OgU2ru6lIwPvuCVs=" "cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="]; }; } diff --git a/system/configuration.nix b/system/configuration.nix index 8533cab..8c5bb93 100644 --- a/system/configuration.nix +++ b/system/configuration.nix @@ -13,7 +13,6 @@ overlays = [ inputs.nur.overlay outputs.overlays.additions - outputs.overlays.pkg-sets inputs.nix-rice.overlays.default outputs.overlays.rice inputs.helix.overlays.default @@ -27,6 +26,7 @@ }; nix = { + # add flake inputs to our registry to allow global use registry = lib.mapAttrs (_: value: {flake = value;}) inputs; settings = { trusted-users = ["bolt" "plank"]; @@ -43,6 +43,7 @@ options = "--delete-older-than 3d"; }; optimise.automatic = true; + package = pkgs.lix; }; imports = [ @@ -56,12 +57,6 @@ ./modules/nix-meta.nix ]; - # hm should have sorted this out - # qt = { - # enable = true; - # style = "adwaita-dark"; - # }; - hardware.enableRedistributableFirmware = true; hardware.enableAllFirmware = true; diff --git a/system/quiver.nix b/system/quiver.nix index 1d666bf..c9b5d05 100644 --- a/system/quiver.nix +++ b/system/quiver.nix @@ -29,6 +29,7 @@ "vt.global_cursor_default=0" ]; + # boot.kernelPackages = pkgs.linuxPackages_cachyos; boot.kernelPackages = pkgs.linuxPackages_xanmod_latest; boot.supportedFilesystems = { ntfs = true; @@ -139,9 +140,10 @@ {device = "/dev/disk/by-uuid/9c006925-e0e9-4165-bc0c-508ae2d1bfce";} ]; - networking.nftables.enable = true; + # networking.nftables.enable = true; networking.firewall = { - allowedUDPPorts = [1900]; - allowedTCPPorts = [8200 2234]; + # allowedUDPPorts = [1900]; + # allowedTCPPorts = [8200 2234]; + allowedTCPPorts = [2234]; }; } diff --git a/util/overlay.nix b/util/overlay.nix index c068062..b5c72a5 100644 --- a/util/overlay.nix +++ b/util/overlay.nix @@ -1,15 +1,14 @@ -{inputs, ...}: { +{...}: { additions = final: _prev: import ../.old/pkgs {pkgs = final;}; - pkg-sets = final: prev: { - unstable = import inputs.nixpkgs { - system = final.system; - config.allowUnfree = true; - }; - stable = import inputs.nixpkgs-stable { - system = final.system; - config.allowUnfree = true; - }; - }; - rice = import ./rice.nix; + # pkg-sets = final: prev: { + # unstable = import inputs.nixpkgs { + # system = final.system; + # config.allowUnfree = true; + # }; + # stable = import inputs.nixpkgs-stable { + # system = final.system; + # config.allowUnfree = true; + # }; + # }; }