commit f1c5038fd7494b2c41f119978a05ced916714bed Author: pupbrained Date: Tue May 7 03:17:46 2024 -0400 first commit diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..1d40f05 --- /dev/null +++ b/.envrc @@ -0,0 +1,3 @@ +watch_file flake.in.nix +nix run .#genflake flake.nix +use_flake diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9b42106 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.direnv/ diff --git a/flake.in.nix b/flake.in.nix new file mode 100644 index 0000000..04706f3 --- /dev/null +++ b/flake.in.nix @@ -0,0 +1,74 @@ +{ + inputs = let + mkInput = url: { + url = "github:${url}"; + }; + + mkFollowingNixpkgs = url: { + url = "github:${url}"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + in { + agenix = mkInput "ryantm/agenix"; + chaotic = mkInput "chaotic-cx/nyx/nyxpkgs-unstable"; + flakegen = mkInput "jorsn/flakegen"; + impermanence = mkInput "nix-community/impermanence"; + nixpkgs = mkInput "nixos/nixpkgs/nixos-unstable"; + nixvim = mkInput "pupbrained/nixvim"; + sops-nix = mkInput "Mic92/sops-nix"; + treefmt-nix = mkInput "numtide/treefmt-nix"; + + home-manager = mkFollowingNixpkgs "nix-community/home-manager"; + kwin-effects-forceblur = mkFollowingNixpkgs "taj-ny/kwin-effects-forceblur"; + nix-index-database = mkFollowingNixpkgs "nix-community/nix-index-database"; + snowfall-lib = mkFollowingNixpkgs "snowfallorg/lib/dev"; + }; + + outputs = inputs: let + pkgs = import inputs.nixpkgs {inherit system;}; + system = "x86_64-linux"; + in + with inputs; + inputs.snowfall-lib.mkFlake { + inherit inputs; + src = ./.; + + formatter.${system} = treefmt-nix.lib.mkWrapper pkgs { + projectRootFile = "flake.nix"; + programs = { + alejandra.enable = true; + deadnix.enable = true; + }; + }; + + channels-config = { + allowUnfree = true; + }; + + homes.modules = [ + chaotic.homeManagerModules.default + nix-index-database.hmModules.nix-index + ]; + + systems.modules.nixos = [ + agenix.nixosModules.default + chaotic.nixosModules.default + impermanence.nixosModules.impermanence + ]; + + devShells.${system}.default = with pkgs; + mkShellNoCC { + packages = [ + alejandra + git + statix + (writeScriptBin "build" '' + nix fmt + nh os switch + nh home switch + '') + (writeScriptBin "up" "nix flake update") + ]; + }; + }; +} diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..ba7a2d3 --- /dev/null +++ b/flake.lock @@ -0,0 +1,1589 @@ +{ + "nodes": { + "agenix": { + "inputs": { + "darwin": "darwin", + "home-manager": "home-manager", + "nixpkgs": "nixpkgs", + "systems": "systems" + }, + "locked": { + "lastModified": 1714136352, + "narHash": "sha256-BtWQ2Th/jamO1SlD+2ASSW5Jaf7JhA/JLpQHk0Goqpg=", + "owner": "ryantm", + "repo": "agenix", + "rev": "24a7ea390564ccd5b39b7884f597cfc8d7f6f44e", + "type": "github" + }, + "original": { + "owner": "ryantm", + "repo": "agenix", + "type": "github" + } + }, + "attic": { + "inputs": { + "crane": [ + "chaotic", + "crane" + ], + "flake-compat": [ + "chaotic", + "flake-compat" + ], + "flake-utils": [ + "chaotic", + "flake-utils" + ], + "nixpkgs": [ + "chaotic", + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable" + }, + "locked": { + "lastModified": 1711742460, + "narHash": "sha256-0O4v6e4a1toxXZ2gf5INhg4WPE5C5T+SVvsBt+45Mcc=", + "rev": "4dbdbee45728d8ce5788db6461aaaa89d98081f0", + "revCount": 197, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/zhaofengli/attic/0.1.197%2Brev-4dbdbee45728d8ce5788db6461aaaa89d98081f0/018e8bce-1229-7d78-a052-5121272f0341/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/zhaofengli/attic/0.1.%2A.tar.gz" + } + }, + "chaotic": { + "inputs": { + "attic": "attic", + "compare-to": "compare-to", + "conduit": "conduit", + "crane": "crane", + "fenix": "fenix", + "flake-compat": "flake-compat", + "flake-schemas": "flake-schemas", + "flake-utils": "flake-utils", + "home-manager": "home-manager_2", + "jovian": "jovian", + "jujutsu": "jujutsu", + "niri": "niri", + "nix-filter": "nix-filter", + "nixpkgs": "nixpkgs_2", + "systems": "systems_2", + "yafas": "yafas" + }, + "locked": { + "lastModified": 1715003882, + "narHash": "sha256-U9mbt+fr6GVIsG9REY8qBgkOGpMRVvcvKPyjcAHrt60=", + "owner": "chaotic-cx", + "repo": "nyx", + "rev": "b2e432016233fe80948ea8e0eabf0b176ad847f0", + "type": "github" + }, + "original": { + "owner": "chaotic-cx", + "ref": "nyxpkgs-unstable", + "repo": "nyx", + "type": "github" + } + }, + "codeium": { + "inputs": { + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs_4" + }, + "locked": { + "lastModified": 1713852288, + "narHash": "sha256-+pR7Vw7hnLVS+ppiiFFooIs06cJb9xfKu54C5jyomHY=", + "owner": "jcdickinson", + "repo": "codeium.nvim", + "rev": "ace6ee3efea3cda09aa5d9bddc41b7438c826a70", + "type": "github" + }, + "original": { + "owner": "jcdickinson", + "repo": "codeium.nvim", + "type": "github" + } + }, + "compare-to": { + "locked": { + "lastModified": 1695341185, + "narHash": "sha256-htO6DSbWyCgaDkxi7foPjXwJFPzGjVt3RRUbPSpNtZY=", + "rev": "98b8e330823a3570d328720f87a1153f8a7f2224", + "revCount": 2, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/chaotic-cx/nix-empty-flake/0.1.2%2Brev-98b8e330823a3570d328720f87a1153f8a7f2224/018aba35-d228-7fa9-b205-7616c89ef4e0/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/chaotic-cx/nix-empty-flake/%3D0.1.2.tar.gz" + } + }, + "complement": { + "flake": false, + "locked": { + "lastModified": 1714472853, + "narHash": "sha256-CNRHSZe3TE+3tFj2dHNyxTMjDqL0MKY3P/3jqUgA7YE=", + "owner": "matrix-org", + "repo": "complement", + "rev": "891d18872c153d39a9ce63b545045efddb845738", + "type": "github" + }, + "original": { + "owner": "matrix-org", + "ref": "main", + "repo": "complement", + "type": "github" + } + }, + "conduit": { + "inputs": { + "attic": [ + "chaotic", + "attic" + ], + "complement": "complement", + "crane": [ + "chaotic", + "crane" + ], + "fenix": [ + "chaotic", + "fenix" + ], + "flake-compat": [ + "chaotic", + "flake-compat" + ], + "flake-utils": [ + "chaotic", + "flake-utils" + ], + "nix-filter": [ + "chaotic", + "nix-filter" + ], + "nixpkgs": [ + "chaotic", + "nixpkgs" + ], + "rocksdb": "rocksdb" + }, + "locked": { + "lastModified": 1714717104, + "narHash": "sha256-c+LnBnWKPQxNK6ebEe9RYlvGDkhEKJbSO6n0pZrKjdY=", + "owner": "girlbossceo", + "repo": "conduwuit", + "rev": "42e3567153f20ace6f287d46fff2d7c070b68840", + "type": "github" + }, + "original": { + "owner": "girlbossceo", + "repo": "conduwuit", + "type": "github" + } + }, + "crane": { + "inputs": { + "nixpkgs": [ + "chaotic", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1714842444, + "narHash": "sha256-z4HeSYtEdYxKurrbxCMb8v/I1LYDHR/aFrZtGtgUgHw=", + "rev": "c5ee4371eea1728ef04bb09c79577c84d5e67a48", + "revCount": 557, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/ipetkov/crane/0.16.6/018f4495-627e-7385-b537-81f1c1d4003b/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/ipetkov/crane/%2A.tar.gz" + } + }, + "darwin": { + "inputs": { + "nixpkgs": [ + "agenix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1700795494, + "narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=", + "owner": "lnl7", + "repo": "nix-darwin", + "rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d", + "type": "github" + }, + "original": { + "owner": "lnl7", + "ref": "master", + "repo": "nix-darwin", + "type": "github" + } + }, + "devshell": { + "inputs": { + "flake-utils": "flake-utils_5", + "nixpkgs": [ + "nixvim", + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1713532798, + "narHash": "sha256-wtBhsdMJA3Wa32Wtm1eeo84GejtI43pMrFrmwLXrsEc=", + "owner": "numtide", + "repo": "devshell", + "rev": "12e914740a25ea1891ec619bb53cf5e6ca922e40", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, + "fenix": { + "inputs": { + "nixpkgs": [ + "chaotic", + "nixpkgs" + ], + "rust-analyzer-src": "rust-analyzer-src" + }, + "locked": { + "lastModified": 1714544767, + "narHash": "sha256-kF1bX+YFMedf1g0PAJYwGUkzh22JmULtj8Rm4IXAQKs=", + "rev": "73124e1356bde9411b163d636b39fe4804b7ca45", + "revCount": 1852, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.1852%2Brev-73124e1356bde9411b163d636b39fe4804b7ca45/018f333a-c195-795f-9e07-b43b47d5391f/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/nix-community/fenix/0.1.%2A.tar.gz" + } + }, + "flake-compat": { + "flake": false, + "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/%2A.tar.gz" + } + }, + "flake-compat_2": { + "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_3": { + "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-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": { + "flake": false, + "locked": { + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "nixvim", + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1712014858, + "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": [ + "nixvim", + "neovim-nightly-overlay", + "hercules-ci-effects", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1712014858, + "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", + "type": "github" + }, + "original": { + "id": "flake-parts", + "type": "indirect" + } + }, + "flake-parts_3": { + "inputs": { + "nixpkgs-lib": [ + "nixvim", + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1712014858, + "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-schemas": { + "locked": { + "lastModified": 1693491534, + "narHash": "sha256-ifw8Td8kD08J8DxFbYjeIx5naHcDLz7s2IFP3X42I/U=", + "rev": "c702cbb663d6d70bbb716584a2ee3aeb35017279", + "revCount": 21, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.1/018a4c59-80e1-708a-bb4d-854930c20f72/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%3D0.1.1.tar.gz" + } + }, + "flake-utils": { + "inputs": { + "systems": [ + "chaotic", + "systems" + ] + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "revCount": 92, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/numtide/flake-utils/0.1.92%2Brev-b1d9ab70662946ef0850d488da1c9019f3a9752a/018e2ca5-e5a2-7f80-9261-445a8cecd4d7/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/numtide/flake-utils/0.1.%2A.tar.gz" + } + }, + "flake-utils-plus": { + "inputs": { + "flake-utils": "flake-utils_7" + }, + "locked": { + "lastModified": 1696331477, + "narHash": "sha256-YkbRa/1wQWdWkVJ01JvV+75KIdM37UErqKgTf0L54Fk=", + "owner": "gytis-ivaskevicius", + "repo": "flake-utils-plus", + "rev": "bfc53579db89de750b25b0c5e7af299e0c06d7d3", + "type": "github" + }, + "original": { + "owner": "gytis-ivaskevicius", + "repo": "flake-utils-plus", + "type": "github" + } + }, + "flake-utils_2": { + "inputs": { + "systems": "systems_5" + }, + "locked": { + "lastModified": 1701680307, + "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_3": { + "inputs": { + "systems": "systems_6" + }, + "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_4": { + "inputs": { + "systems": "systems_7" + }, + "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_5": { + "inputs": { + "systems": "systems_8" + }, + "locked": { + "lastModified": 1701680307, + "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_6": { + "inputs": { + "systems": "systems_9" + }, + "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_7": { + "inputs": { + "systems": "systems_10" + }, + "locked": { + "lastModified": 1694529238, + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flakegen": { + "inputs": { + "systems": "systems_3" + }, + "locked": { + "lastModified": 1707120544, + "narHash": "sha256-pXwH9NLXjhjnaz1n7w5m36gVUZ1GVkvtltsLnvVPFJY=", + "owner": "jorsn", + "repo": "flakegen", + "rev": "8b11749b0724700273462a674dd16e5549fe2790", + "type": "github" + }, + "original": { + "owner": "jorsn", + "repo": "flakegen", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "nixvim", + "nixvim", + "pre-commit-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "hercules-ci-effects": { + "inputs": { + "flake-parts": "flake-parts_2", + "nixpkgs": [ + "nixvim", + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1713898448, + "narHash": "sha256-6q6ojsp/Z9P2goqnxyfCSzFOD92T3Uobmj8oVAicUOs=", + "owner": "hercules-ci", + "repo": "hercules-ci-effects", + "rev": "c0302ec12d569532a6b6bd218f698bc402e93adc", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "hercules-ci-effects", + "type": "github" + } + }, + "home-manager": { + "inputs": { + "nixpkgs": [ + "agenix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1703113217, + "narHash": "sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "3bfaacf46133c037bb356193bd2f1765d9dc82c1", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "home-manager_2": { + "inputs": { + "nixpkgs": [ + "chaotic", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1714900398, + "narHash": "sha256-H7XYHpjk1G6dkA3AnbYrKtaTFjcCE7ul6nUVlVQxtsA=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "fdaaf543bad047639ef0b356ea2e6caec2f1215c", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "home-manager_3": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1714981474, + "narHash": "sha256-b3/U21CJjCjJKmA9WqUbZGZgCvospO3ArOUTgJugkOY=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "6ebe7be2e67be7b9b54d61ce5704f6fb466c536f", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "home-manager_4": { + "inputs": { + "nixpkgs": [ + "nixvim", + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1713732794, + "narHash": "sha256-AYCofb8Zu4Mbc1lHDtju/uxeARawRijmOueAqEMEfMU=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "670d9ecc3e46a6e3265c203c2d136031a3d3548e", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "impermanence": { + "locked": { + "lastModified": 1708968331, + "narHash": "sha256-VUXLaPusCBvwM3zhGbRIJVeYluh2uWuqtj4WirQ1L9Y=", + "owner": "nix-community", + "repo": "impermanence", + "rev": "a33ef102a02ce77d3e39c25197664b7a636f9c30", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "impermanence", + "type": "github" + } + }, + "jovian": { + "inputs": { + "nix-github-actions": "nix-github-actions", + "nixpkgs": [ + "chaotic", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1714803703, + "narHash": "sha256-4m9wG6mZR0I2d7itErhpY0JqSHomNnUdoKfkjnYp+wI=", + "owner": "Jovian-Experiments", + "repo": "Jovian-NixOS", + "rev": "d0799ebebfb37fd2df6409dc8da622738c5930bb", + "type": "github" + }, + "original": { + "owner": "Jovian-Experiments", + "repo": "Jovian-NixOS", + "type": "github" + } + }, + "jujutsu": { + "inputs": { + "flake-utils": [ + "chaotic", + "flake-utils" + ], + "nixpkgs": [ + "chaotic", + "nixpkgs" + ], + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1714875377, + "narHash": "sha256-JOgZ3IHCK6s7JRoSdAUd1OnnGecPnX80rq195JbOpxs=", + "owner": "martinvonz", + "repo": "jj", + "rev": "f1fd1d8071b6423dc756915eff5eca0714f10f7a", + "type": "github" + }, + "original": { + "owner": "martinvonz", + "repo": "jj", + "type": "github" + } + }, + "kwin-effects-forceblur": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "utils": "utils" + }, + "locked": { + "lastModified": 1714231021, + "narHash": "sha256-eiF/ORcTTC5HbOJvwg7BJpDGk50tcJkz3joW+MYm9Eo=", + "owner": "taj-ny", + "repo": "kwin-effects-forceblur", + "rev": "177bf64d03064159846afd4090c36a6b22b2a583", + "type": "github" + }, + "original": { + "owner": "taj-ny", + "repo": "kwin-effects-forceblur", + "type": "github" + } + }, + "neovim-flake": { + "inputs": { + "flake-utils": "flake-utils_4", + "nixpkgs": [ + "nixvim", + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "dir": "contrib", + "lastModified": 1713891901, + "narHash": "sha256-pL11HPJJQ9U5Lq/I5jfHPZGBcjIgm06pvcX+jF7dQrM=", + "owner": "neovim", + "repo": "neovim", + "rev": "c81b7849a0f677164c01cf84ecfb25c1f47acf21", + "type": "github" + }, + "original": { + "dir": "contrib", + "owner": "neovim", + "repo": "neovim", + "type": "github" + } + }, + "neovim-nightly-overlay": { + "inputs": { + "flake-compat": "flake-compat_2", + "flake-parts": "flake-parts", + "hercules-ci-effects": "hercules-ci-effects", + "neovim-flake": "neovim-flake", + "nixpkgs": "nixpkgs_5" + }, + "locked": { + "lastModified": 1713917052, + "narHash": "sha256-gFeBWAE5ju8na9C2PHOY1ivFQLON8ptZShC0yVAAf+0=", + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "rev": "36ebd81eec6aa60234a031ab012dd704329d29f0", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "type": "github" + } + }, + "niri": { + "inputs": { + "crane": [ + "chaotic", + "crane" + ], + "fenix": [ + "chaotic", + "fenix" + ], + "flake-utils": [ + "chaotic", + "flake-utils" + ], + "nix-filter": [ + "chaotic", + "nix-filter" + ], + "nixpkgs": [ + "chaotic", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1714900109, + "narHash": "sha256-+VJWriIMcBv6p+Ri6e/6OWHrItWlunitXPzhfCvj82w=", + "owner": "YaLTeR", + "repo": "niri", + "rev": "9847a652af864109b3543e42d48087a38c0729ad", + "type": "github" + }, + "original": { + "owner": "YaLTeR", + "repo": "niri", + "type": "github" + } + }, + "nix-darwin": { + "inputs": { + "nixpkgs": [ + "nixvim", + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1713543876, + "narHash": "sha256-olEWxacm1xZhAtpq+ZkEyQgR4zgfE7ddpNtZNvubi3g=", + "owner": "lnl7", + "repo": "nix-darwin", + "rev": "9e7c20ffd056e406ddd0276ee9d89f09c5e5f4ed", + "type": "github" + }, + "original": { + "owner": "lnl7", + "repo": "nix-darwin", + "type": "github" + } + }, + "nix-filter": { + "locked": { + "lastModified": 1710156097, + "narHash": "sha256-1Wvk8UP7PXdf8bCCaEoMnOT1qe5/Duqgj+rL8sRQsSM=", + "owner": "numtide", + "repo": "nix-filter", + "rev": "3342559a24e85fc164b295c3444e8a139924675b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "nix-filter", + "type": "github" + } + }, + "nix-github-actions": { + "inputs": { + "nixpkgs": [ + "chaotic", + "jovian", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1690328911, + "narHash": "sha256-fxtExYk+aGf2YbjeWQ8JY9/n9dwuEt+ma1eUFzF8Jeo=", + "owner": "zhaofengli", + "repo": "nix-github-actions", + "rev": "96df4a39c52f53cb7098b923224d8ce941b64747", + "type": "github" + }, + "original": { + "owner": "zhaofengli", + "ref": "matrix-name", + "repo": "nix-github-actions", + "type": "github" + } + }, + "nix-index-database": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1714878592, + "narHash": "sha256-E68C03sYRsYFsK7wiGHUIJm8IsyPRALOrFoTL0glXnI=", + "owner": "nix-community", + "repo": "nix-index-database", + "rev": "a362555e9dbd4ecff3bb98969bbdb8f79fe87f10", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-index-database", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1703013332, + "narHash": "sha256-+tFNwMvlXLbJZXiMHqYq77z/RfmpfpiI3yjL6o/Zo9M=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "54aac082a4d9bb5bbc5c4e899603abfb76a3f6d6", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1711460390, + "narHash": "sha256-akSgjDZL6pVHEfSE6sz1DNSXuYX6hq+P/1Z5IoYWs7E=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "44733514b72e732bd49f5511bd0203dea9b9a434", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-23.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable_2": { + "locked": { + "lastModified": 1714858427, + "narHash": "sha256-tCxeDP4C1pWe2rYY3IIhdA40Ujz32Ufd4tcrHPSKx2M=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b980b91038fc4b09067ef97bbe5ad07eecca1e76", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "release-23.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_10": { + "locked": { + "lastModified": 1708475490, + "narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "0e74ca98a74bc7270d28838369593635a5db3260", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1714906307, + "narHash": "sha256-UlRZtrCnhPFSJlDQE7M0eyhgvuuHBTe1eJ9N9AQlJQ0=", + "rev": "25865a40d14b3f9cf19f19b924e2ab4069b09588", + "revCount": 621993, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.621993%2Brev-25865a40d14b3f9cf19f19b924e2ab4069b09588/018f4c66-6d02-7cdf-be60-465b0f46742e/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/NixOS/nixpkgs/0.1.%2A.tar.gz" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1714906307, + "narHash": "sha256-UlRZtrCnhPFSJlDQE7M0eyhgvuuHBTe1eJ9N9AQlJQ0=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "25865a40d14b3f9cf19f19b924e2ab4069b09588", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { + "locked": { + "lastModified": 1702346276, + "narHash": "sha256-eAQgwIWApFQ40ipeOjVSoK4TEHVd6nbSd9fApiHIw5A=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "cf28ee258fd5f9a52de6b9865cdb93a1f96d09b7", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-23.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { + "locked": { + "lastModified": 1713805509, + "narHash": "sha256-YgSEan4CcrjivCNO5ZNzhg7/8ViLkZ4CB/GrGBVSudo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1e1dc66fe68972a76679644a5577828b6a7e8be4", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_6": { + "locked": { + "lastModified": 1713926177, + "narHash": "sha256-AFgpVLDaAgdpNjUtzzUjXJLLv+pXAqJwaSzpyr/5j2Q=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1c108068d22f4e386d0bea43e328890d6dd59228", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_7": { + "locked": { + "lastModified": 1713714899, + "narHash": "sha256-+z/XjO3QJs5rLE5UOf015gdVauVRQd2vZtsFkaXBq2Y=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "6143fc5eeb9c4f00163267708e26191d1e918932", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_8": { + "locked": { + "lastModified": 1708475490, + "narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "0e74ca98a74bc7270d28838369593635a5db3260", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_9": { + "locked": { + "lastModified": 1714809261, + "narHash": "sha256-hfBmnYFyz9I1mdrC3tX1A+dF9cOUcds5PIMPxrT+cRk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d32560238207b8e26d88b265207b216ee46b8450", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixvim": { + "inputs": { + "codeium": "codeium", + "flake-utils": "flake-utils_3", + "neovim-nightly-overlay": "neovim-nightly-overlay", + "nixpkgs": "nixpkgs_6", + "nixvim": "nixvim_2", + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1715057382, + "narHash": "sha256-aj8kMdbp2Tfzvh15h0vJ3s5RpS8d9VCMArQ989Y3sL4=", + "owner": "pupbrained", + "repo": "nixvim", + "rev": "3751b528a5443c72d24bbdc71923feffa093965d", + "type": "github" + }, + "original": { + "owner": "pupbrained", + "repo": "nixvim", + "type": "github" + } + }, + "nixvim_2": { + "inputs": { + "devshell": "devshell", + "flake-compat": "flake-compat_3", + "flake-parts": "flake-parts_3", + "home-manager": "home-manager_4", + "nix-darwin": "nix-darwin", + "nixpkgs": "nixpkgs_7", + "pre-commit-hooks": "pre-commit-hooks" + }, + "locked": { + "lastModified": 1713856119, + "narHash": "sha256-TfNc8vxF7IaRhTlMgOeUN01y7QoBx50MYmGU1sSU6Vw=", + "owner": "nix-community", + "repo": "nixvim", + "rev": "c826d146c65bfa8164f31931cf54278b99f5a3a0", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixvim", + "type": "github" + } + }, + "pre-commit-hooks": { + "inputs": { + "flake-compat": "flake-compat_4", + "flake-utils": "flake-utils_6", + "gitignore": "gitignore", + "nixpkgs": [ + "nixvim", + "nixvim", + "nixpkgs" + ], + "nixpkgs-stable": [ + "nixvim", + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1713775815, + "narHash": "sha256-Wu9cdYTnGQQwtT20QQMg7jzkANKQjwBD9iccfGKkfls=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "2ac4dcbf55ed43f3be0bae15e181f08a57af24a4", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" + } + }, + "rocksdb": { + "flake": false, + "locked": { + "lastModified": 1713810944, + "narHash": "sha256-/Xf0bzNJPclH9IP80QNaABfhj4IAR5LycYET18VFCXc=", + "owner": "facebook", + "repo": "rocksdb", + "rev": "6f7cabeac80a3a6150be2c8a8369fcecb107bf43", + "type": "github" + }, + "original": { + "owner": "facebook", + "ref": "v9.1.1", + "repo": "rocksdb", + "type": "github" + } + }, + "root": { + "inputs": { + "agenix": "agenix", + "chaotic": "chaotic", + "flakegen": "flakegen", + "home-manager": "home-manager_3", + "impermanence": "impermanence", + "kwin-effects-forceblur": "kwin-effects-forceblur", + "nix-index-database": "nix-index-database", + "nixpkgs": "nixpkgs_3", + "nixvim": "nixvim", + "snowfall-lib": "snowfall-lib", + "sops-nix": "sops-nix", + "treefmt-nix": "treefmt-nix_2" + } + }, + "rust-analyzer-src": { + "flake": false, + "locked": { + "lastModified": 1714501997, + "narHash": "sha256-g31zfxwUFzkPgX0Q8sZLcrqGmOxwjEZ/iqJjNx4fEGo=", + "owner": "rust-lang", + "repo": "rust-analyzer", + "rev": "49e502b277a8126a9ad10c802d1aaa3ef1a280ef", + "type": "github" + }, + "original": { + "owner": "rust-lang", + "ref": "nightly", + "repo": "rust-analyzer", + "type": "github" + } + }, + "rust-overlay": { + "inputs": { + "flake-utils": [ + "chaotic", + "jujutsu", + "flake-utils" + ], + "nixpkgs": [ + "chaotic", + "jujutsu", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1707444620, + "narHash": "sha256-P8kRkiJLFttN+hbAOlm11wPxUrQZqKle+QtVCqFiGXY=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "78503e9199010a4df714f29a4f9c00eb2ccae071", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "snowfall-lib": { + "inputs": { + "flake-compat": "flake-compat_5", + "flake-utils-plus": "flake-utils-plus", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1713814392, + "narHash": "sha256-IanrgtpgDqxGfzNczstspPljAHKaY0e4DGvYgdAwC1Y=", + "owner": "snowfallorg", + "repo": "lib", + "rev": "91ab40c2e01cc1bade8092604370964ee86e9317", + "type": "github" + }, + "original": { + "owner": "snowfallorg", + "ref": "dev", + "repo": "lib", + "type": "github" + } + }, + "sops-nix": { + "inputs": { + "nixpkgs": "nixpkgs_9", + "nixpkgs-stable": "nixpkgs-stable_2" + }, + "locked": { + "lastModified": 1715035358, + "narHash": "sha256-RY6kqhpCPa/q3vbqt3iYRyjO3hJz9KZnshMjbpPon8o=", + "owner": "Mic92", + "repo": "sops-nix", + "rev": "893e3df091f6838f4f9d71c61ab079d5c5dedbd1", + "type": "github" + }, + "original": { + "owner": "Mic92", + "repo": "sops-nix", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_10": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_2": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "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" + } + }, + "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" + } + }, + "systems_5": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_6": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_7": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_8": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_9": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "treefmt-nix": { + "inputs": { + "nixpkgs": "nixpkgs_8" + }, + "locked": { + "lastModified": 1711963903, + "narHash": "sha256-N3QDhoaX+paWXHbEXZapqd1r95mdshxToGowtjtYkGI=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "49dc4a92b02b8e68798abd99184f228243b6e3ac", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "treefmt-nix_2": { + "inputs": { + "nixpkgs": "nixpkgs_10" + }, + "locked": { + "lastModified": 1714058656, + "narHash": "sha256-Qv4RBm4LKuO4fNOfx9wl40W2rBbv5u5m+whxRYUMiaA=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "c6aaf729f34a36c445618580a9f95a48f5e4e03f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "utils": { + "inputs": { + "systems": "systems_4" + }, + "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" + } + }, + "yafas": { + "inputs": { + "flake-schemas": [ + "chaotic", + "flake-schemas" + ], + "systems": [ + "chaotic", + "systems" + ] + }, + "locked": { + "lastModified": 1695926485, + "narHash": "sha256-wNFFnItckgSs8XeYhhv8vlJs2WF09fSQaWgw4xkDqHQ=", + "rev": "7772afd6686458ca0ddbc599a52cf5d337367653", + "revCount": 4, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/UbiqueLambda/yafas/0.1.4%2Brev-7772afd6686458ca0ddbc599a52cf5d337367653/018add18-ebb4-72c6-93fe-d1d8da361703/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/UbiqueLambda/yafas/0.1.%2A.tar.gz" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..224d44d --- /dev/null +++ b/flake.nix @@ -0,0 +1,31 @@ +# Do not modify! This file is generated. + +{ + inputs = { + agenix.url = "github:ryantm/agenix"; + chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable"; + flakegen.url = "github:jorsn/flakegen"; + home-manager = { + inputs.nixpkgs.follows = "nixpkgs"; + url = "github:nix-community/home-manager"; + }; + impermanence.url = "github:nix-community/impermanence"; + kwin-effects-forceblur = { + inputs.nixpkgs.follows = "nixpkgs"; + url = "github:taj-ny/kwin-effects-forceblur"; + }; + nix-index-database = { + inputs.nixpkgs.follows = "nixpkgs"; + url = "github:nix-community/nix-index-database"; + }; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + nixvim.url = "github:pupbrained/nixvim"; + snowfall-lib = { + inputs.nixpkgs.follows = "nixpkgs"; + url = "github:snowfallorg/lib/dev"; + }; + sops-nix.url = "github:Mic92/sops-nix"; + treefmt-nix.url = "github:numtide/treefmt-nix"; + }; + outputs = inputs: inputs.flakegen ./flake.in.nix inputs; +} \ No newline at end of file diff --git a/homes/x86_64-linux/marshall@navis/default.nix b/homes/x86_64-linux/marshall@navis/default.nix new file mode 100644 index 0000000..4592dd7 --- /dev/null +++ b/homes/x86_64-linux/marshall@navis/default.nix @@ -0,0 +1,36 @@ +{ + lib, + pkgs, + inputs, + ... +}: { + home = { + packages = with pkgs; + [ + grc + jamesdsp + vesktop + ] + ++ (with inputs; [ + nixvim.packages.${pkgs.system}.default + ]) + ++ (with inputs.chaotic.packages.${pkgs.system}; [ + distrobox_git + ]); + + stateVersion = "24.05"; + }; + + programs = { + nheko.enable = true; + nix-index-database.comma.enable = true; + nix-index.enable = true; + + direnv = { + enable = true; + nix-direnv.enable = true; + }; + }; + + nix.package = lib.mkForce pkgs.nixVersions.git; +} diff --git a/modules/home/macchina/default.nix b/modules/home/macchina/default.nix new file mode 100644 index 0000000..f082d9d --- /dev/null +++ b/modules/home/macchina/default.nix @@ -0,0 +1,62 @@ +{ + lib, + pkgs, + config, + ... +}: +with lib; let + cfg = config.programs.macchina; + tomlFormat = pkgs.formats.toml {}; +in { + options.programs.macchina = { + enable = mkEnableOption "macchina"; + package = mkPackageOption pkgs "macchina" {}; + + config = mkOption { + inherit (tomlFormat) type; + default = {}; + + example = { + theme = "Mezora"; + show = [ + "Kernel" + "Machine" + "OperatingSystem" + "Resolution" + "Uptime" + "LocalIP" + "Packages" + "ProcessorLoad" + "Memory" + "Battery" + ]; + }; + + description = '' + Macchina configuration. + ''; + }; + + themes = with types; + mkOption { + inherit (tomlFormat) type; + default = {}; + }; + }; + + config = mkIf cfg.enable { + home.packages = [cfg.package]; + xdg.configFile = + { + "macchina/macchina.toml".source = + tomlFormat.generate "macchina.toml" cfg.config; + } + // ( + attrsets.concatMapAttrs (name: value: { + "macchina/themes/${name}.toml".source = + tomlFormat.generate "${name}.toml" value; + }) + cfg.themes + ); + }; +} diff --git a/modules/home/plasma/default.nix.bak b/modules/home/plasma/default.nix.bak new file mode 100644 index 0000000..6b4e8fd --- /dev/null +++ b/modules/home/plasma/default.nix.bak @@ -0,0 +1,5 @@ +{...}: { + programs.plasma = { + enable = true; + }; +} diff --git a/modules/home/shell/default.nix b/modules/home/shell/default.nix new file mode 100644 index 0000000..e29f795 --- /dev/null +++ b/modules/home/shell/default.nix @@ -0,0 +1,32 @@ +{pkgs, ...}: +with pkgs; { + imports = [ + ./fish.nix + ./git.nix + ./wezterm.nix + ./macchina.nix + ]; + + programs = { + bat = { + enable = true; + config.theme = "catppuccin"; + + themes.catppuccin = { + src = fetchFromGitHub { + owner = "catppuccin"; + repo = "bat"; + rev = "ba4d16880d63e656acced2b7d4e034e4a93f74b1"; + hash = "sha256-6WVKQErGdaqb++oaXnY3i6/GuH2FhTgK0v4TN4Y0Wbw="; + }; + + file = "/Catppuccin-mocha.tmTheme"; + }; + }; + + zoxide = { + enable = true; + options = ["--cmd" "cd"]; + }; + }; +} diff --git a/modules/home/shell/fish.nix b/modules/home/shell/fish.nix new file mode 100644 index 0000000..4344226 --- /dev/null +++ b/modules/home/shell/fish.nix @@ -0,0 +1,135 @@ +{pkgs, ...}: +with pkgs; { + programs = { + fish = let + mkFishPlugins = names: + map (name: { + inherit name; + src = pkgs.fishPlugins.${name}.src; + }) + names; + in { + enable = true; + + plugins = + [ + { + name = "replay.fish"; + src = fetchFromGitHub { + owner = "jorgebucaran"; + repo = "replay.fish"; + rev = "bd8e5b89ec78313538e747f0292fcaf631e87bd2"; + hash = "sha256-bM6+oAd/HXaVgpJMut8bwqO54Le33hwO9qet9paK1kY="; + }; + } + { + name = "license"; + src = fetchFromGitHub { + owner = "oh-my-fish"; + repo = "plugin-license"; + rev = "0155b16f102957ec0c734a90979245dc1073f979"; + hash = "sha256-Bi9Q5rekZoyXYbRV+U4SmwCdqCl0pFupzm5si7SxFns="; + }; + } + { + name = "wttr"; + src = fetchFromGitHub { + owner = "oh-my-fish"; + repo = "plugin-wttr"; + rev = "7500e382e6b29a463edc57598217ce0cfaf8c90c"; + hash = "sha256-k3FrRPxKCiObO6HgtDx8ORbcLmfSYQsQeq5SAoNfZbE="; + }; + } + { + name = "gityaw"; + src = fetchFromGitHub { + owner = "oh-my-fish"; + repo = "plugin-gityaw"; + rev = "59196560e0f4520db63fb8cab645510377bb8b13"; + hash = "sha256-STXNxSsjSopB+lbB4hEYdhJifRfsImRwbZ1SxwEhkuM="; + }; + } + { + name = "bang-bang"; + src = fetchFromGitHub { + owner = "oh-my-fish"; + repo = "plugin-bang-bang"; + rev = "ec991b80ba7d4dda7a962167b036efc5c2d79419"; + hash = "sha256-oPPCtFN2DPuM//c48SXb4TrFRjJtccg0YPXcAo0Lxq0="; + }; + } + { + name = "autopair"; + src = fetchFromGitHub { + owner = "jorgebucaran"; + repo = "autopair.fish"; + rev = "4d1752ff5b39819ab58d7337c69220342e9de0e2"; + hash = "sha256-qt3t1iKRRNuiLWiVoiAYOu+9E7jsyECyIqZJ/oRIT1A="; + }; + } + { + name = "done"; + src = fetchFromGitHub { + owner = "franciscolourenco"; + repo = "done"; + rev = "d47f4d6551cccb0e46edfb14213ca0097ee22f9a"; + hash = "sha256-VSCYsGjNPSFIZSdLrkc7TU7qyPVm8UupOoav5UqXPMk="; + }; + } + ] + ++ (mkFishPlugins ["grc" "plugin-git"]); + + shellAliases = { + cat = "${bat}/bin/bat"; + df = "${duf}/bin/duf"; + rm = "${rm-improved}/bin/rip"; + cp = "${xcp}/bin/xcp"; + }; + + interactiveShellInit = '' + function fish_greeting + macchina + end + ''; + }; + + starship = { + enable = true; + + settings = { + jobs.disabled = true; + palette = "catppuccin_mocha"; + nix_shell.symbol = "❄️ "; + + palettes.catppuccin_mocha = { + rosewater = "#f5e0dc"; + flamingo = "#f2cdcd"; + pink = "#f5c2e7"; + mauve = "#cba6f7"; + red = "#f38ba8"; + maroon = "#eba0ac"; + peach = "#fab387"; + yellow = "#f9e2af"; + green = "#a6e3a1"; + teal = "#94e2d5"; + sky = "#89dceb"; + sapphire = "#74c7ec"; + blue = "#89b4fa"; + lavender = "#b4befe"; + text = "#cdd6f4"; + subtext1 = "#bac2de"; + subtext0 = "#a6adc8"; + overlay2 = "#9399b2"; + overlay1 = "#7f849c"; + overlay0 = "#6c7086"; + surface2 = "#585b70"; + surface1 = "#45475a"; + surface0 = "#313244"; + base = "#1e1e2e"; + mantle = "#181825"; + crust = "#11111b"; + }; + }; + }; + }; +} diff --git a/modules/home/shell/git.nix b/modules/home/shell/git.nix new file mode 100644 index 0000000..3a88a5f --- /dev/null +++ b/modules/home/shell/git.nix @@ -0,0 +1,28 @@ +{pkgs, ...}: +with pkgs; { + programs = { + git = { + enable = true; + package = gitAndTools.gitFull; + userName = "pupbrained"; + userEmail = "mars@pupbrained.xyz"; + aliases.pushall = "!git remote | xargs -L1 git push"; + difftastic.enable = true; + + extraConfig = { + init.defaultBranch = "main"; + push.autoSetupRemote = true; + }; + + signing = { + signByDefault = true; + key = "0FF5B8826803F895"; + }; + }; + + gh = { + enable = true; + extensions = [gh-copilot gh-dash gh-markdown-preview]; + }; + }; +} diff --git a/modules/home/shell/macchina.nix b/modules/home/shell/macchina.nix new file mode 100644 index 0000000..d1a4103 --- /dev/null +++ b/modules/home/shell/macchina.nix @@ -0,0 +1,95 @@ +{pkgs, ...}: +with pkgs; { + programs.macchina = { + enable = true; + + config = { + theme = "Mezora"; + interface = "wlp4s0"; + + show = [ + "DesktopEnvironment" + "Distribution" + "Kernel" + "LocalIP" + "Machine" + "Memory" + "Packages" + "ProcessorLoad" + "Resolution" + "Shell" + "Terminal" + "Uptime" + "WindowManager" + ]; + }; + + themes = { + Mezora = { + custom_ascii = { + path = writeText "nix_logo" '' + ▗▄▄▄ ▗▄▄▄▄ ▄▄▄▖ + ▜███▙ ▜███▙ ▟███▛ + ▜███▙ ▜███▙▟███▛ + ▜███▙ ▜██████▛ + ▟█████████████████▙ ▜████▛ ▟▙ + ▟███████████████████▙ ▜███▙ ▟██▙ + ▄▄▄▄▖ ▜███▙ ▟███▛ + ▟███▛ ▜██▛ ▟███▛ + ▟███▛ ▜▛ ▟███▛ + ▟███████████▛ ▟██████████▙ + ▜██████████▛ ▟███████████▛ + ▟███▛ ▟▙ ▟███▛ + ▟███▛ ▟██▙ ▟███▛ + ▟███▛ ▜███▙ ▝▀▀▀▀ + ▜██▛ ▜███▙ ▜██████████████████▛ + ▜▛ ▟████▙ ▜████████████████▛ + ▟██████▙ ▜███▙ + ▟███▛▜███▙ ▜███▙ + ▟███▛ ▜███▙ ▜███▙ + ▝▀▀▀ ▀▀▀▀▘ ▀▀▀▘ + ''; + }; + separator = ""; + separator_color = "blue"; + key_color = "blue"; + + palette = { + type = "Dark"; + visible = true; + glyph = " ⬤ "; + }; + + box = { + border = "rounded"; + visible = true; + inner_margin = { + x = 0; + y = 1; + }; + }; + + bar = { + glyph = "○"; + hide_delimiters = true; + visible = true; + }; + + keys = { + kernel = " Kernel"; + packages = " Packages"; + cpu_load = " CPU"; + memory = " Memory"; + resolution = "󰔂 Res"; + uptime = " Uptime"; + distro = " Distro"; + machine = "󰌢 Machine"; + de = " DE"; + local_ip = "󰤨 Local IP"; + terminal = " Terminal"; + shell = " Shell"; + }; + }; + }; + }; +} diff --git a/modules/home/shell/wezterm.nix b/modules/home/shell/wezterm.nix new file mode 100644 index 0000000..7c11c04 --- /dev/null +++ b/modules/home/shell/wezterm.nix @@ -0,0 +1,107 @@ +{...}: { + programs.wezterm = { + enable = true; + extraConfig = '' + local wezterm = require('wezterm') + local c = wezterm.config_builder() + + local resize_amount = 3; + + local wezmodeConfig = { + theme = { + textColor = "white", + hintColor = "#a6e3a1", + normalModeColor = "#cba6f7", + modeTextColor = "#11111b", + } + } + + wezterm.plugin.require('https://github.com/nekowinston/wezterm-bar').apply_to_config(c, { + position = 'bottom', + max_width = 32, + dividers = 'slant_right', + indicator = { + leader = { + enabled = true, + off = ' ', + on = ' ', + }, + mode = { + enabled = true, + names = { + resize_mode = 'RESIZE', + copy_mode = 'VISUAL', + search_mode = 'SEARCH', + }, + }, + }, + tabs = { + numerals = 'arabic', + pane_count = 'subscript', + brackets = { + active = { "", ':' }, + inactive = { "", ':' }, + }, + }, + clock = { + enabled = true, + format = '%l:%M %p', + }, + }) + + local act = wezterm.action + + local keybinds = { + { + key = 'Enter', + mods = 'CTRL|SHIFT', + action = act.SplitHorizontal({ domain = 'CurrentPaneDomain' }), + }, + { + key = 'h', + mods = 'ALT', + action = act.ActivatePaneDirection('Left'), + }, + { + key = 'l', + mods = 'ALT', + action = act.ActivatePaneDirection 'Right', + }, + { + key = 'k', + mods = 'ALT', + action = act.ActivatePaneDirection 'Up', + }, + { + key = 'j', + mods = 'ALT', + action = act.ActivatePaneDirection 'Down', + }, + } + + local config = { + adjust_window_size_when_changing_font_size = false, + color_scheme = 'Catppuccin Mocha', + cursor_blink_ease_in = 'Constant', + cursor_blink_ease_out = 'Constant', + cursor_blink_rate = 500, + default_cursor_style = 'BlinkingBar', + enable_scroll_bar = false, + font_size = 12, + font = wezterm.font('Maple Mono NF'), + front_end = 'WebGpu', + underline_position = -4, + use_fancy_tab_bar = false, + webgpu_power_preference = 'HighPerformance', + window_background_opacity = 0.8, + window_padding = { left = 0, right = 0, top = 0, bottom = 0 }, + } + + for k, v in pairs(config) do + c[k] = v + end + + return c + ''; + }; +} diff --git a/systems/x86_64-linux/navis/default.nix b/systems/x86_64-linux/navis/default.nix new file mode 100644 index 0000000..a2a9bdb --- /dev/null +++ b/systems/x86_64-linux/navis/default.nix @@ -0,0 +1,193 @@ +{ + pkgs, + config, + inputs, + ... +}: +with pkgs; { + imports = [./hardware.nix]; + + age = { + secrets.passwd.file = /etc/secrets/passwd.age; + identityPaths = [ + "/persist/root/.ssh/id_ed25519" + ]; + }; + + chaotic = { + scx = { + enable = true; + scheduler = "scx_rusty"; + }; + + steam.extraCompatPackages = [ + luxtorpeda + proton-ge-custom + ]; + }; + + virtualisation.podman.enable = true; + virtualisation.podman.enableNvidia = true; + + environment = { + sessionVariables = { + NIXOS_OZONE_WL = "1"; + EDITOR = "nvim"; + }; + + systemPackages = + [ + kde-rounded-corners + ] + ++ (with inputs; [ + agenix.packages.${system}.default + kwin-effects-forceblur.packages.${system}.default + ]); + + persistence."/persist" = { + hideMounts = true; + directories = [ + "/root/.ssh" + "/etc/secrets" + "/etc/ssh" + "/var/lib/bluetooth" + "/var/lib/nixos" + "/var/lib/systemd/coredump" + "/etc/NetworkManager/system-connections" + { + directory = "/var/lib/colord"; + user = "colord"; + group = "colord"; + mode = "u=rwx,g=rx,o="; + } + ]; + files = [ + "/etc/machine-id" + { + file = "/var/keys/secret_file"; + parentDirectory = {mode = "u=rwx,g=,o=";}; + } + ]; + }; + }; + + boot = { + #initrd.systemd.enable = true; + #plymouth.enable = true; + + blacklistedKernelModules = ["i915"]; + kernelPackages = linuxPackages_cachyos; + kernelParams = ["module_blacklist=i915" "quiet"]; + supportedFilesystems = ["btrfs" "ntfs"]; + + loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + }; + }; + + nix = { + package = nixVersions.git; + + settings = { + trusted-users = ["marshall"]; + substituters = [ + "https://cache.nixos.org" + "https://nix-community.cachix.org" + "https://cache.iog.io" + "https://nyx.chaotic.cx/" + ]; + + trusted-substituters = [ + "cache.nixos.org" + "nix-community.cachix.org" + "cache.iog.io" + "nyx.chaotic.cx" + ]; + + trusted-public-keys = [ + "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ=" + "nyx.chaotic.cx-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8=" + "chaotic-nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8=" + ]; + }; + }; + + programs = { + fish.enable = true; + gamemode.enable = true; + steam.enable = true; + gnupg.agent.enable = true; + + nh = { + enable = true; + clean.enable = true; + clean.extraArgs = "--keep-since 4d --keep 3"; + flake = "/home/marshall/nix-config"; + }; + }; + + networking = { + hostName = "navis"; + networkmanager.enable = true; + firewall.enable = false; + }; + + time.timeZone = "America/New_York"; + + i18n.defaultLocale = "en_US.UTF-8"; + + services = { + btrfs.autoScrub.enable = true; + desktopManager.plasma6.enable = true; + displayManager.sddm.enable = true; + flatpak.enable = true; + libinput.enable = true; + libinput.touchpad.naturalScrolling = true; + openssh.enable = true; + + xserver = { + enable = true; + videoDrivers = ["nvidia"]; + xkb.layout = "us"; + }; + + pipewire = { + enable = true; + pulse.enable = true; + }; + }; + + users = { + mutableUsers = false; + + users.marshall = { + isNormalUser = true; + extraGroups = ["wheel" "gamemode"]; + shell = fish; + hashedPasswordFile = config.age.secrets.passwd.path; + packages = [ + firefox + neovim + telegram-desktop + ]; + }; + }; + + hardware = { + opengl = { + enable = true; + driSupport = true; + driSupport32Bit = true; + }; + + nvidia = { + package = config.boot.kernelPackages.nvidiaPackages.latest; + modesetting.enable = true; + }; + }; + + system.stateVersion = "24.05"; +} diff --git a/systems/x86_64-linux/navis/hardware.nix b/systems/x86_64-linux/navis/hardware.nix new file mode 100644 index 0000000..c1868e3 --- /dev/null +++ b/systems/x86_64-linux/navis/hardware.nix @@ -0,0 +1,90 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ + config, + lib, + modulesPath, + ... +}: { + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = ["xhci_pci" "nvme" "usbhid" "usb_storage" "sd_mod"]; + boot.initrd.kernelModules = []; + boot.kernelModules = ["kvm-intel"]; + boot.extraModulePackages = []; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/d375c3a3-63a3-47f8-8b77-58fabbb8f67b"; + fsType = "btrfs"; + options = ["subvol=root"]; + }; + + boot.initrd.postDeviceCommands = lib.mkAfter '' + mkdir /btrfs_tmp + mount /dev/disk/by-uuid/d375c3a3-63a3-47f8-8b77-58fabbb8f67b /btrfs_tmp + if [[ -e /btrfs_tmp/root ]]; then + mkdir -p /btrfs_tmp/old_roots + timestamp=$(date --date="@$(stat -c %Y /btrfs_tmp/root)" "+%Y-%m-%-d_%H:%M:%S") + mv /btrfs_tmp/root "/btrfs_tmp/old_roots/$timestamp" + fi + + delete_subvolume_recursively() { + IFS=$'\n' + for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do + delete_subvolume_recursively "/btrfs_tmp/$i" + done + btrfs subvolume delete "$1" + } + + for i in $(find /btrfs_tmp/old_roots/ -maxdepth 1 -mtime +30); do + delete_subvolume_recursively "$i" + done + + btrfs subvolume create /btrfs_tmp/root + umount /btrfs_tmp + ''; + + boot.initrd.luks.devices."enc".device = "/dev/disk/by-uuid/9952fcd1-46eb-4c9c-ab7d-361d31fdb9a2"; + + fileSystems."/home" = { + device = "/dev/disk/by-uuid/d375c3a3-63a3-47f8-8b77-58fabbb8f67b"; + fsType = "btrfs"; + options = ["subvol=home" "compress=zstd"]; + }; + + fileSystems."/nix" = { + device = "/dev/disk/by-uuid/d375c3a3-63a3-47f8-8b77-58fabbb8f67b"; + fsType = "btrfs"; + options = ["subvol=nix" "compress=zstd" "noatime"]; + }; + + fileSystems."/persist" = { + device = "/dev/disk/by-uuid/d375c3a3-63a3-47f8-8b77-58fabbb8f67b"; + neededForBoot = true; + fsType = "btrfs"; + options = ["subvol=persist" "compress=zstd"]; + }; + + fileSystems."/var/log" = { + device = "/dev/disk/by-uuid/d375c3a3-63a3-47f8-8b77-58fabbb8f67b"; + fsType = "btrfs"; + options = ["subvol=log" "compress=zstd" "noatime"]; + neededForBoot = true; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/12CE-A600"; + fsType = "vfat"; + options = ["fmask=0022" "dmask=0022"]; + }; + + swapDevices = []; + + networking.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +}