diff --git a/.github/workflows/build-machines-and-homes.yml b/.github/workflows/build-machines-and-homes.yml index f5de126..e276cbf 100644 --- a/.github/workflows/build-machines-and-homes.yml +++ b/.github/workflows/build-machines-and-homes.yml @@ -27,7 +27,11 @@ jobs: remove-codeql: 'true' remove-docker-images: 'true' build-mount-path: /nix - - uses: nixbuild/nix-quick-install-action@master + - name: Install Nix + uses: cachix/install-nix-action@v30 + with: + install_url: https://releases.nixos.org/nix/nix-2.25.4/install + extra_nix_config: 'accept-flake-config = true' - name: Sync repository uses: actions/checkout@v4 with: diff --git a/flake.lock b/flake.lock index 2e9a7dd..c1cf6ee 100644 --- a/flake.lock +++ b/flake.lock @@ -102,13 +102,21 @@ "attic": "attic", "cachix": "cachix", "complement": "complement", - "crane": "crane_2", + "crane": [ + "crane" + ], "fenix": "fenix", - "flake-compat": "flake-compat_3", - "flake-utils": "flake-utils", + "flake-compat": [ + "flake-compat" + ], + "flake-utils": [ + "flake-utils" + ], "liburing": "liburing", "nix-filter": "nix-filter", - "nixpkgs": "nixpkgs_5", + "nixpkgs": [ + "nixpkgs" + ], "rocksdb": "rocksdb" }, "locked": { @@ -149,27 +157,11 @@ }, "crane_2": { "locked": { - "lastModified": 1736566337, - "narHash": "sha256-SC0eDcZPqISVt6R0UfGPyQLrI0+BppjjtQ3wcSlk0oI=", + "lastModified": 1737250794, + "narHash": "sha256-bdIPhvsAKyYQzqAIeay4kOxTHGwLGkhM+IlBIsmMYFI=", "owner": "ipetkov", "repo": "crane", - "rev": "9172acc1ee6c7e1cbafc3044ff850c568c75a5a3", - "type": "github" - }, - "original": { - "owner": "ipetkov", - "ref": "master", - "repo": "crane", - "type": "github" - } - }, - "crane_3": { - "locked": { - "lastModified": 1731098351, - "narHash": "sha256-HQkYvKvaLQqNa10KEFGgWHfMAbWBfFp+4cAgkut+NNE=", - "owner": "ipetkov", - "repo": "crane", - "rev": "ef80ead953c1b28316cc3f8613904edc2eb90c28", + "rev": "c5b7075f4a6d523fe8204618aa9754e56478c0e0", "type": "github" }, "original": { @@ -310,7 +302,6 @@ } }, "flake-compat_3": { - "flake": false, "locked": { "lastModified": 1733328505, "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", @@ -321,41 +312,10 @@ }, "original": { "owner": "edolstra", - "ref": "master", "repo": "flake-compat", "type": "github" } }, - "flake-compat_4": { - "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-compat_5": { - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "revCount": 57, - "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" - } - }, "flake-parts": { "inputs": { "nixpkgs-lib": [ @@ -403,48 +363,8 @@ } }, "flake-parts_3": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib" - }, - "locked": { - "lastModified": 1736143030, - "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_4": { "inputs": { "nixpkgs-lib": [ - "lanzaboote", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1730504689, - "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "506278e768c2a08bec68eb62932193e341f55c90", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-parts_5": { - "inputs": { - "nixpkgs-lib": [ - "nixvim", "nixpkgs" ] }, @@ -476,7 +396,6 @@ }, "original": { "owner": "numtide", - "ref": "main", "repo": "flake-utils", "type": "github" } @@ -499,6 +418,21 @@ "type": "github" } }, + "flakey-profile": { + "locked": { + "lastModified": 1712898590, + "narHash": "sha256-FhGIEU93VHAChKEXx905TSiPZKga69bWl1VB37FK//I=", + "owner": "lf-", + "repo": "flakey-profile", + "rev": "243c903fd8eadc0f63d205665a92d4df91d42d9d", + "type": "github" + }, + "original": { + "owner": "lf-", + "repo": "flakey-profile", + "type": "github" + } + }, "git-hooks": { "inputs": { "flake-compat": [ @@ -641,27 +575,6 @@ "type": "github" } }, - "home-manager_2": { - "inputs": { - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1737075266, - "narHash": "sha256-u1gk5I1an975FOAMMdS6oBKnSIsZza5ZKhaeBZAskVo=", - "owner": "nix-community", - "repo": "home-manager", - "rev": "12851ae7467bad8ef422b20806ab4d6d81e12d29", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "home-manager", - "type": "github" - } - }, "ixx": { "inputs": { "flake-utils": [ @@ -692,14 +605,22 @@ }, "lanzaboote": { "inputs": { - "crane": "crane_3", - "flake-compat": "flake-compat_4", - "flake-parts": "flake-parts_4", + "crane": [ + "crane" + ], + "flake-compat": [ + "flake-compat" + ], + "flake-parts": [ + "flake-parts" + ], "nixpkgs": [ "nixpkgs" ], "pre-commit-hooks-nix": "pre-commit-hooks-nix", - "rust-overlay": "rust-overlay" + "rust-overlay": [ + "rust-overlay" + ] }, "locked": { "lastModified": 1737299073, @@ -749,6 +670,45 @@ "type": "github" } }, + "lix": { + "flake": false, + "locked": { + "lastModified": 1737234286, + "narHash": "sha256-pgDJZjj4jpzkFxsqBTI/9Yb0n3gW+DvDtuv9SwQZZcs=", + "rev": "079528098f5998ba13c88821a2eca1005c1695de", + "type": "tarball", + "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/079528098f5998ba13c88821a2eca1005c1695de.tar.gz?rev=079528098f5998ba13c88821a2eca1005c1695de" + }, + "original": { + "type": "tarball", + "url": "https://git.lix.systems/lix-project/lix/archive/main.tar.gz" + } + }, + "lix-module": { + "inputs": { + "flake-utils": [ + "flake-utils" + ], + "flakey-profile": "flakey-profile", + "lix": "lix", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1737241037, + "narHash": "sha256-6LIpS3rK1Ch6OXis4tvBTgGBTRb+NptDAfhPNzmgZSE=", + "ref": "refs/heads/main", + "rev": "690f7c0fa2935bf591cccf4d7312b3e0f470298b", + "revCount": 129, + "type": "git", + "url": "https://git.lix.systems/lix-project/nixos-module" + }, + "original": { + "type": "git", + "url": "https://git.lix.systems/lix-project/nixos-module" + } + }, "niri": { "inputs": { "niri-stable": "niri-stable", @@ -756,7 +716,9 @@ "nixpkgs": [ "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable_4", + "nixpkgs-stable": [ + "nixpkgs" + ], "xwayland-satellite-stable": "xwayland-satellite-stable", "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, @@ -939,18 +901,6 @@ "type": "github" } }, - "nixpkgs-lib": { - "locked": { - "lastModified": 1735774519, - "narHash": "sha256-CewEm1o2eVAnoqb6Ml+Qi9Gg/EfNAxbRx1lANGVyoLI=", - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/e9b51731911566bbf7e4895475a87fe06961de0b.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/e9b51731911566bbf7e4895475a87fe06961de0b.tar.gz" - } - }, "nixpkgs-stable": { "locked": { "lastModified": 1724316499, @@ -999,22 +949,6 @@ "type": "github" } }, - "nixpkgs-stable_4": { - "locked": { - "lastModified": 1737299813, - "narHash": "sha256-Qw2PwmkXDK8sPQ5YQ/y/icbQ+TYgbxfjhgnkNJyT1X8=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "107d5ef05c0b1119749e381451389eded30fb0d5", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs_2": { "locked": { "lastModified": 1730531603, @@ -1064,22 +998,6 @@ } }, "nixpkgs_5": { - "locked": { - "lastModified": 1736817698, - "narHash": "sha256-1m+JP9RUsbeLVv/tF1DX3Ew9Vl/fatXnlh/g5k3jcSk=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "2b1fca3296ddd1602d2c4f104a4050e006f4b0cb", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_6": { "locked": { "lastModified": 1737469477, "narHash": "sha256-GG0myEzULU7uiwoNGnwqiclki+Jg8dPG6nv7yKo7lMc=", @@ -1098,16 +1016,24 @@ "nixvim": { "inputs": { "devshell": "devshell", - "flake-compat": "flake-compat_5", - "flake-parts": "flake-parts_5", + "flake-compat": [ + "flake-compat" + ], + "flake-parts": [ + "flake-parts" + ], "git-hooks": "git-hooks_2", - "home-manager": "home-manager_2", + "home-manager": [ + "home-manager" + ], "nix-darwin": "nix-darwin", "nixpkgs": [ "nixpkgs" ], "nuschtosSearch": "nuschtosSearch", - "treefmt-nix": "treefmt-nix" + "treefmt-nix": [ + "treefmt" + ] }, "locked": { "lastModified": 1737484173, @@ -1209,16 +1135,20 @@ "root": { "inputs": { "conduwuit": "conduwuit", + "crane": "crane_2", "disko": "disko", + "flake-compat": "flake-compat_3", "flake-parts": "flake-parts_3", + "flake-utils": "flake-utils", "home-manager": "home-manager", "lanzaboote": "lanzaboote", + "lix-module": "lix-module", "niri": "niri", - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_5", "nixpkgs-garage": "nixpkgs-garage", "nixvim": "nixvim", "nvim-github-theme": "nvim-github-theme", - "rust-overlay": "rust-overlay_2", + "rust-overlay": "rust-overlay", "sops-nix": "sops-nix", "treefmt": "treefmt" } @@ -1241,27 +1171,6 @@ } }, "rust-overlay": { - "inputs": { - "nixpkgs": [ - "lanzaboote", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1731897198, - "narHash": "sha256-Ou7vLETSKwmE/HRQz4cImXXJBr/k9gp4J4z/PF8LzTE=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "0be641045af6d8666c11c2c40e45ffc9667839b5", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, - "rust-overlay_2": { "inputs": { "nixpkgs": [ "nixpkgs" @@ -1351,27 +1260,6 @@ "type": "github" } }, - "treefmt-nix": { - "inputs": { - "nixpkgs": [ - "nixvim", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1737054102, - "narHash": "sha256-saLiCRQ5RtdTnznT/fja7GxcYRAzeY3k8S+IF/2s/2A=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "97871d416166803134ba64597a1006f3f670fbde", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, "xwayland-satellite-stable": { "flake": false, "locked": { diff --git a/flake.nix b/flake.nix index f683266..da5ee50 100644 --- a/flake.nix +++ b/flake.nix @@ -22,21 +22,46 @@ lanzaboote = { url = "github:nix-community/lanzaboote/master"; inputs.nixpkgs.follows = "nixpkgs"; + inputs.crane.follows = "crane"; + inputs.flake-compat.follows = "flake-compat"; + inputs.flake-parts.follows = "flake-parts"; + inputs.rust-overlay.follows = "rust-overlay"; }; nixvim = { url = "github:nix-community/nixvim"; inputs.nixpkgs.follows = "nixpkgs"; + inputs.flake-parts.follows = "flake-parts"; + inputs.flake-compat.follows = "flake-compat"; + inputs.home-manager.follows = "home-manager"; + inputs.treefmt-nix.follows = "treefmt"; + }; + flake-parts = { + url = "github:hercules-ci/flake-parts"; + inputs.nixpkgs-lib.follows = "nixpkgs"; }; - flake-parts.url = "github:hercules-ci/flake-parts"; niri = { url = "github:sodiboo/niri-flake"; inputs.nixpkgs.follows = "nixpkgs"; + inputs.nixpkgs-stable.follows = "nixpkgs"; }; rust-overlay = { url = "github:oxalica/rust-overlay"; inputs.nixpkgs.follows = "nixpkgs"; }; - conduwuit.url = "github:girlbossceo/conduwuit"; + conduwuit = { + url = "github:girlbossceo/conduwuit"; + inputs = { + nixpkgs.follows = "nixpkgs"; + crane.follows = "crane"; + flake-compat.follows = "flake-compat"; + flake-utils.follows = "flake-utils"; + }; + }; + lix-module = { + url = "git+https://git.lix.systems/lix-project/nixos-module"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.flake-utils.follows = "flake-utils"; + }; nixpkgs-garage.url = "github:cything/nixpkgs/garage-module"; # unmerged PR @@ -44,6 +69,11 @@ url = "github:projekt0n/github-nvim-theme"; flake = false; }; + + # deduplication + flake-utils.url = "github:numtide/flake-utils"; + crane.url = "github:ipetkov/crane"; + flake-compat.url = "github:edolstra/flake-compat"; }; nixConfig = { @@ -85,17 +115,12 @@ ]; perSystem = { - system, + inputs', ... }: { # make pkgs available to `perSystem` - _module.args.pkgs = import inputs.nixpkgs { - inherit system; - config = { - allowUnfree = true; - }; - }; + _module.args.pkgs = inputs'.nixpkgs.legacyPackages; treefmt = { projectRootFile = "flake.nix"; @@ -140,6 +165,7 @@ ./modules inputs.lanzaboote.nixosModules.lanzaboote inputs.niri.nixosModules.niri + inputs.lix-module.nixosModules.default ]; }; chunk = lib.nixosSystem { diff --git a/home/ghostty.nix b/home/ghostty.nix index 9a08a74..1c592f5 100644 --- a/home/ghostty.nix +++ b/home/ghostty.nix @@ -1,4 +1,5 @@ -{ ... }: { +{ ... }: +{ programs.ghostty = { enable = true; enableZshIntegration = true; diff --git a/home/irssi.nix b/home/irssi.nix index 91ba914..e8133c1 100644 --- a/home/irssi.nix +++ b/home/irssi.nix @@ -1,4 +1,5 @@ -{...}: { +{ ... }: +{ programs.irssi = { enable = true; networks.liberachat = { diff --git a/home/kitty.nix b/home/kitty.nix index fc0b577..0586556 100644 --- a/home/kitty.nix +++ b/home/kitty.nix @@ -1,4 +1,5 @@ -{pkgs, ...}: { +{ pkgs, ... }: +{ programs.kitty = { enable = true; font = { @@ -15,7 +16,7 @@ clear_all_shortcuts = true; # will probably lower this later but the max allowed is actually 4GB - # this is NOT stored in memory and can only be viewed wth scrollback_pager + # this is NOT stored in memory and can only be viewed with scrollback_pager "scrollback_pager_history_size" = "1024"; # see https://github.com/sharkdp/bat/issues/1077#issuecomment-652785399 "scrollback_pager" = "bat --pager='less -FR +G'"; diff --git a/hosts/chunk/conduwuit.nix b/hosts/chunk/conduwuit.nix index 7fa1852..25c85ab 100644 --- a/hosts/chunk/conduwuit.nix +++ b/hosts/chunk/conduwuit.nix @@ -2,7 +2,8 @@ { services.conduwuit = { enable = true; - package = inputs.conduwuit.packages.x86_64-linux.static-x86_64-linux-musl-all-features-x86_64-haswell-optimised; + package = + inputs.conduwuit.packages.x86_64-linux.static-x86_64-linux-musl-all-features-x86_64-haswell-optimised; settings.global = { port = [ 8448 ]; server_name = "cything.io";