diff --git a/.envrc b/.envrc index 1d40f05..da46543 100644 --- a/.envrc +++ b/.envrc @@ -1,3 +1,3 @@ watch_file flake.in.nix -nix run .#genflake flake.nix +cp $(nix eval --raw .#nextFlake) flake.nix use_flake diff --git a/.gitignore b/.gitignore index 9b42106..7b869ae 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ .direnv/ +home.nix +sys.nix diff --git a/_sources/generated.json b/_sources/generated.json new file mode 100644 index 0000000..122f1be --- /dev/null +++ b/_sources/generated.json @@ -0,0 +1,22 @@ +{ + "linux-wallpaperengine-latest": { + "cargoLocks": null, + "date": "2024-05-11", + "extract": null, + "name": "linux-wallpaperengine-latest", + "passthru": null, + "pinned": false, + "src": { + "deepClone": false, + "fetchSubmodules": false, + "leaveDotGit": false, + "name": null, + "owner": "Almamu", + "repo": "linux-wallpaperengine", + "rev": "13cc080410444ea72cceebdd5ea0ae7c23dd2270", + "sha256": "sha256-XdFU5BKZPyGpV0PYmmM12efMFimt3eJAsG+dzyycIzo=", + "type": "github" + }, + "version": "13cc080410444ea72cceebdd5ea0ae7c23dd2270" + } +} \ No newline at end of file diff --git a/_sources/generated.nix b/_sources/generated.nix new file mode 100644 index 0000000..6bc61e9 --- /dev/null +++ b/_sources/generated.nix @@ -0,0 +1,18 @@ +# This file was generated by nvfetcher, please do not modify it manually. +{ + fetchFromGitHub, + dockerTools, +}: { + linux-wallpaperengine-latest = { + pname = "linux-wallpaperengine-latest"; + version = "13cc080410444ea72cceebdd5ea0ae7c23dd2270"; + src = fetchFromGitHub { + owner = "Almamu"; + repo = "linux-wallpaperengine"; + rev = "13cc080410444ea72cceebdd5ea0ae7c23dd2270"; + fetchSubmodules = false; + sha256 = "sha256-XdFU5BKZPyGpV0PYmmM12efMFimt3eJAsG+dzyycIzo="; + }; + date = "2024-05-11"; + }; +} diff --git a/flake.in.nix b/flake.in.nix index 04706f3..d0742d4 100644 --- a/flake.in.nix +++ b/flake.in.nix @@ -1,5 +1,9 @@ { inputs = let + mkCustomUrl = url: { + inherit url; + }; + mkInput = url: { url = "github:${url}"; }; @@ -10,26 +14,29 @@ }; in { agenix = mkInput "ryantm/agenix"; + catppuccin = mkInput "catppuccin/nix"; chaotic = mkInput "chaotic-cx/nyx/nyxpkgs-unstable"; - flakegen = mkInput "jorsn/flakegen"; impermanence = mkInput "nix-community/impermanence"; - nixpkgs = mkInput "nixos/nixpkgs/nixos-unstable"; + nixpkgs = mkInput "arianvp/nixpkgs/soft-reboot"; + nix-super = mkCustomUrl "git+https://git.privatevoid.net/max/nix-super"; nixvim = mkInput "pupbrained/nixvim"; + schizofox = mkInput "schizofox/schizofox"; sops-nix = mkInput "Mic92/sops-nix"; treefmt-nix = mkInput "numtide/treefmt-nix"; + xmonad-contrib = mkInput "xmonad/xmonad-contrib"; 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-flake = mkFollowingNixpkgs "snowfallorg/flake"; 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 { + outputs = {...} @ inputs: + with inputs; let + pkgs = import nixpkgs {inherit system;}; + system = "x86_64-linux"; + in + snowfall-lib.mkFlake { inherit inputs; src = ./.; @@ -41,30 +48,49 @@ }; }; + overlays = [ + snowfall-flake.overlays.default + (_: _: { + nixSuper = nix-super.packages.${system}.default; + }) + ]; + channels-config = { + allowAliases = true; allowUnfree = true; + allowUnsupportedSystem = true; + cudaSupport = true; + permittedInsecurePackages = ["freeimage-unstable-2021-11-01"]; + home-manager.useGlobalPkgs = true; }; homes.modules = [ chaotic.homeManagerModules.default + catppuccin.homeManagerModules.catppuccin nix-index-database.hmModules.nix-index + schizofox.homeManagerModules.default ]; - systems.modules.nixos = [ - agenix.nixosModules.default - chaotic.nixosModules.default - impermanence.nixosModules.impermanence - ]; + systems.modules.nixos = + [ + agenix.nixosModules.default + catppuccin.nixosModules.catppuccin + chaotic.nixosModules.default + impermanence.nixosModules.impermanence + xmonad-contrib.modernise.${system} + ] + ++ xmonad-contrib.nixosModules; devShells.${system}.default = with pkgs; mkShellNoCC { packages = [ alejandra git + nvfetcher statix (writeScriptBin "build" '' nix fmt - nh os switch + nh os switch . -- --impure nh home switch '') (writeScriptBin "up" "nix flake update") diff --git a/flake.lock b/flake.lock index ba7a2d3..d40b7af 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1714136352, - "narHash": "sha256-BtWQ2Th/jamO1SlD+2ASSW5Jaf7JhA/JLpQHk0Goqpg=", + "lastModified": 1715290355, + "narHash": "sha256-2T7CHTqBXJJ3ZC6R/4TXTcKoXWHcvubKNj9SfomURnw=", "owner": "ryantm", "repo": "agenix", - "rev": "24a7ea390564ccd5b39b7884f597cfc8d7f6f44e", + "rev": "8d37c5bdeade12b6479c85acd133063ab53187a0", "type": "github" }, "original": { @@ -54,6 +54,21 @@ "url": "https://flakehub.com/f/zhaofengli/attic/0.1.%2A.tar.gz" } }, + "catppuccin": { + "locked": { + "lastModified": 1715659881, + "narHash": "sha256-emodPGTXLVqlcOkqbJiOUkf5vo8WWujgzKxms1B+iBs=", + "owner": "catppuccin", + "repo": "nix", + "rev": "d6344610c04af0f8e315fef45dd3b854014b119e", + "type": "github" + }, + "original": { + "owner": "catppuccin", + "repo": "nix", + "type": "github" + } + }, "chaotic": { "inputs": { "attic": "attic", @@ -74,11 +89,11 @@ "yafas": "yafas" }, "locked": { - "lastModified": 1715003882, - "narHash": "sha256-U9mbt+fr6GVIsG9REY8qBgkOGpMRVvcvKPyjcAHrt60=", + "lastModified": 1715779363, + "narHash": "sha256-7xZ8UXV3/8PsUeekBZY/o8Lagi5mOMKMiIufda1A0ts=", "owner": "chaotic-cx", "repo": "nyx", - "rev": "b2e432016233fe80948ea8e0eabf0b176ad847f0", + "rev": "ccbdce844a8e70b64d714159c558a52b13c8881d", "type": "github" }, "original": { @@ -90,15 +105,15 @@ }, "codeium": { "inputs": { - "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs_4" + "flake-utils": "flake-utils_3", + "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1713852288, - "narHash": "sha256-+pR7Vw7hnLVS+ppiiFFooIs06cJb9xfKu54C5jyomHY=", + "lastModified": 1714765312, + "narHash": "sha256-WqZX4PMw4raTRXUliz2cr5yZeIERLq4rjB3DUoxdWn8=", "owner": "jcdickinson", "repo": "codeium.nvim", - "rev": "ace6ee3efea3cda09aa5d9bddc41b7438c826a70", + "rev": "d3b88eb3aa1de6da33d325c196b8a41da2bcc825", "type": "github" }, "original": { @@ -124,11 +139,11 @@ "complement": { "flake": false, "locked": { - "lastModified": 1714472853, - "narHash": "sha256-CNRHSZe3TE+3tFj2dHNyxTMjDqL0MKY3P/3jqUgA7YE=", + "lastModified": 1714661560, + "narHash": "sha256-E1ZiUbOgo7rWo8zt2M2vzCVSykCxK0Ot2dUAxTL6cpU=", "owner": "matrix-org", "repo": "complement", - "rev": "891d18872c153d39a9ce63b545045efddb845738", + "rev": "370a014dca0f720614e0c8f68b9a3e66ecf7f516", "type": "github" }, "original": { @@ -172,11 +187,11 @@ "rocksdb": "rocksdb" }, "locked": { - "lastModified": 1714717104, - "narHash": "sha256-c+LnBnWKPQxNK6ebEe9RYlvGDkhEKJbSO6n0pZrKjdY=", + "lastModified": 1715543662, + "narHash": "sha256-Y+Joq1pMcbVi7qhAyExmd2KRmU0SYx8osUCOy1XnB3s=", "owner": "girlbossceo", "repo": "conduwuit", - "rev": "42e3567153f20ace6f287d46fff2d7c070b68840", + "rev": "434b5118cc41b3359b502794bf3d39583d5f9e26", "type": "github" }, "original": { @@ -205,6 +220,28 @@ "url": "https://flakehub.com/f/ipetkov/crane/%2A.tar.gz" } }, + "crane_2": { + "inputs": { + "nixpkgs": [ + "schizofox", + "searx-randomizer", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1701386725, + "narHash": "sha256-w4aBlMYh9Y8co1V80m5LzEKMijUJ7CBTq209WbqVwUU=", + "owner": "ipetkov", + "repo": "crane", + "rev": "8b9bad9b30bd7a9ed08782e64846b7485f9d0a38", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, "darwin": { "inputs": { "nixpkgs": [ @@ -229,7 +266,7 @@ }, "devshell": { "inputs": { - "flake-utils": "flake-utils_5", + "flake-utils": "flake-utils_6", "nixpkgs": [ "nixvim", "nixvim", @@ -289,11 +326,11 @@ "flake-compat_2": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", "type": "github" }, "original": { @@ -303,20 +340,6 @@ } }, "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, @@ -332,7 +355,85 @@ "type": "github" } }, + "flake-compat_4": { + "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_5": { + "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_6": { + "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_7": { + "flake": false, + "locked": { + "lastModified": 1668681692, + "narHash": "sha256-Ht91NGdewz8IQLtWZ9LCeNXMSXHUss+9COoqu6JLmXU=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "009399224d5e398d03b22badca40a37ac85412a1", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_8": { + "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-compat_9": { "flake": false, "locked": { "lastModified": 1650374568, @@ -351,8 +452,7 @@ "flake-parts": { "inputs": { "nixpkgs-lib": [ - "nixvim", - "neovim-nightly-overlay", + "nix-super", "nixpkgs" ] }, @@ -371,6 +471,28 @@ } }, "flake-parts_2": { + "inputs": { + "nixpkgs-lib": [ + "nixvim", + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1714641030, + "narHash": "sha256-yzcRNDoyVP7+SCNX0wmuDju1NUCt8Dz9+lyUXEI0dbI=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "e5d10a24b66c3ea8f150e47dfdb0416ab7c3390e", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_3": { "inputs": { "nixpkgs-lib": [ "nixvim", @@ -392,7 +514,7 @@ "type": "indirect" } }, - "flake-parts_3": { + "flake-parts_4": { "inputs": { "nixpkgs-lib": [ "nixvim", @@ -400,6 +522,27 @@ "nixpkgs" ] }, + "locked": { + "lastModified": 1714641030, + "narHash": "sha256-yzcRNDoyVP7+SCNX0wmuDju1NUCt8Dz9+lyUXEI0dbI=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "e5d10a24b66c3ea8f150e47dfdb0416ab7c3390e", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_5": { + "inputs": { + "nixpkgs-lib": [ + "schizofox", + "nixpkgs" + ] + }, "locked": { "lastModified": 1712014858, "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", @@ -414,6 +557,39 @@ "type": "github" } }, + "flake-parts_6": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1698882062, + "narHash": "sha256-HkhafUayIqxXyHH1X8d9RDl1M2CkFgZLjKD3MzabiEo=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "8c9fa2545007b49a5db5f650ae91f227672c3877", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-root": { + "locked": { + "lastModified": 1713493429, + "narHash": "sha256-ztz8JQkI08tjKnsTpfLqzWoKFQF4JGu2LRz8bkdnYUk=", + "owner": "srid", + "repo": "flake-root", + "rev": "bc748b93b86ee76e2032eecda33440ceb2532fcd", + "type": "github" + }, + "original": { + "owner": "srid", + "repo": "flake-root", + "type": "github" + } + }, "flake-schemas": { "locked": { "lastModified": 1693491534, @@ -450,7 +626,25 @@ }, "flake-utils-plus": { "inputs": { - "flake-utils": "flake-utils_7" + "flake-utils": "flake-utils_8" + }, + "locked": { + "lastModified": 1657226504, + "narHash": "sha256-GIYNjuq4mJlFgqKsZ+YrgzWm0IpA4axA3MCrdKYj7gs=", + "owner": "gytis-ivaskevicius", + "repo": "flake-utils-plus", + "rev": "2bf0f91643c2e5ae38c1b26893ac2927ac9bd82a", + "type": "github" + }, + "original": { + "owner": "gytis-ivaskevicius", + "repo": "flake-utils-plus", + "type": "github" + } + }, + "flake-utils-plus_2": { + "inputs": { + "flake-utils": "flake-utils_9" }, "locked": { "lastModified": 1696331477, @@ -466,27 +660,9 @@ "type": "github" } }, - "flake-utils_2": { + "flake-utils_10": { "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" + "systems": "systems_11" }, "locked": { "lastModified": 1710146030, @@ -502,9 +678,60 @@ "type": "github" } }, + "flake-utils_11": { + "inputs": { + "systems": "systems_12" + }, + "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": { + "locked": { + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_3": { + "inputs": { + "systems": "systems_4" + }, + "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_4": { "inputs": { - "systems": "systems_7" + "systems": "systems_5" }, "locked": { "lastModified": 1710146030, @@ -522,25 +749,7 @@ }, "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" + "systems": "systems_6" }, "locked": { "lastModified": 1710146030, @@ -556,7 +765,58 @@ "type": "github" } }, + "flake-utils_6": { + "inputs": { + "systems": "systems_7" + }, + "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_7": { + "inputs": { + "systems": "systems_8" + }, + "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_8": { + "locked": { + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_9": { "inputs": { "systems": "systems_10" }, @@ -592,6 +852,44 @@ "type": "github" } }, + "git-ignore-nix": { + "inputs": { + "nixpkgs": "nixpkgs_13" + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "ref": "master", + "repo": "gitignore.nix", + "type": "github" + } + }, + "git-ignore-nix_2": { + "inputs": { + "nixpkgs": "nixpkgs_15" + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "ref": "master", + "repo": "gitignore.nix", + "type": "github" + } + }, "gitignore": { "inputs": { "nixpkgs": [ @@ -617,7 +915,7 @@ }, "hercules-ci-effects": { "inputs": { - "flake-parts": "flake-parts_2", + "flake-parts": "flake-parts_3", "nixpkgs": [ "nixvim", "neovim-nightly-overlay", @@ -638,6 +936,33 @@ "type": "github" } }, + "hercules-ci-effects_2": { + "inputs": { + "flake-parts": [ + "schizofox", + "nixpak", + "flake-parts" + ], + "nixpkgs": [ + "schizofox", + "nixpak", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1704029560, + "narHash": "sha256-a4Iu7x1OP+uSYpqadOu8VCPY+MPF3+f6KIi+MAxlgyw=", + "owner": "hercules-ci", + "repo": "hercules-ci-effects", + "rev": "d5cbf433a6ae9cae05400189a8dbc6412a03ba16", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "hercules-ci-effects", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -667,11 +992,11 @@ ] }, "locked": { - "lastModified": 1714900398, - "narHash": "sha256-H7XYHpjk1G6dkA3AnbYrKtaTFjcCE7ul6nUVlVQxtsA=", + "lastModified": 1715486357, + "narHash": "sha256-4pRuzsHZOW5W4CsXI9uhKtiJeQSUoe1d2M9mWU98HC4=", "owner": "nix-community", "repo": "home-manager", - "rev": "fdaaf543bad047639ef0b356ea2e6caec2f1215c", + "rev": "44677a1c96810a8e8c4ffaeaad10c842402647c1", "type": "github" }, "original": { @@ -687,11 +1012,11 @@ ] }, "locked": { - "lastModified": 1714981474, - "narHash": "sha256-b3/U21CJjCjJKmA9WqUbZGZgCvospO3ArOUTgJugkOY=", + "lastModified": 1715486357, + "narHash": "sha256-4pRuzsHZOW5W4CsXI9uhKtiJeQSUoe1d2M9mWU98HC4=", "owner": "nix-community", "repo": "home-manager", - "rev": "6ebe7be2e67be7b9b54d61ce5704f6fb466c536f", + "rev": "44677a1c96810a8e8c4ffaeaad10c842402647c1", "type": "github" }, "original": { @@ -709,11 +1034,32 @@ ] }, "locked": { - "lastModified": 1713732794, - "narHash": "sha256-AYCofb8Zu4Mbc1lHDtju/uxeARawRijmOueAqEMEfMU=", + "lastModified": 1715486357, + "narHash": "sha256-4pRuzsHZOW5W4CsXI9uhKtiJeQSUoe1d2M9mWU98HC4=", "owner": "nix-community", "repo": "home-manager", - "rev": "670d9ecc3e46a6e3265c203c2d136031a3d3548e", + "rev": "44677a1c96810a8e8c4ffaeaad10c842402647c1", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "home-manager_5": { + "inputs": { + "nixpkgs": [ + "schizofox", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1712759992, + "narHash": "sha256-2APpO3ZW4idlgtlb8hB04u/rmIcKA8O7pYqxF66xbNY=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "31357486b0ef6f4e161e002b6893eeb4fafc3ca9", "type": "github" }, "original": { @@ -746,11 +1092,11 @@ ] }, "locked": { - "lastModified": 1714803703, - "narHash": "sha256-4m9wG6mZR0I2d7itErhpY0JqSHomNnUdoKfkjnYp+wI=", + "lastModified": 1715748970, + "narHash": "sha256-CEDUVyPbnWGLG6wx0IjTnUb3U9NPKtIalQd6T6I4Bwc=", "owner": "Jovian-Experiments", "repo": "Jovian-NixOS", - "rev": "d0799ebebfb37fd2df6409dc8da622738c5930bb", + "rev": "1dd285a38b3f6be8c6f1148841e7c6f12a0acdec", "type": "github" }, "original": { @@ -772,11 +1118,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1714875377, - "narHash": "sha256-JOgZ3IHCK6s7JRoSdAUd1OnnGecPnX80rq195JbOpxs=", + "lastModified": 1715717667, + "narHash": "sha256-8jlUZer3z8gZWDp/gVFDq6XRe3icELp6hRclbSHl94U=", "owner": "martinvonz", "repo": "jj", - "rev": "f1fd1d8071b6423dc756915eff5eca0714f10f7a", + "rev": "c9b44f382824301e6c0fdd6f4cbc52bb00c50995", "type": "github" }, "original": { @@ -785,30 +1131,25 @@ "type": "github" } }, - "kwin-effects-forceblur": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ], - "utils": "utils" - }, + "libgit2": { + "flake": false, "locked": { - "lastModified": 1714231021, - "narHash": "sha256-eiF/ORcTTC5HbOJvwg7BJpDGk50tcJkz3joW+MYm9Eo=", - "owner": "taj-ny", - "repo": "kwin-effects-forceblur", - "rev": "177bf64d03064159846afd4090c36a6b22b2a583", + "lastModified": 1697646580, + "narHash": "sha256-oX4Z3S9WtJlwvj0uH9HlYcWv+x1hqp8mhXl7HsLu2f0=", + "owner": "libgit2", + "repo": "libgit2", + "rev": "45fd9ed7ae1a9b74b957ef4f337bc3c8b3df01b5", "type": "github" }, "original": { - "owner": "taj-ny", - "repo": "kwin-effects-forceblur", + "owner": "libgit2", + "repo": "libgit2", "type": "github" } }, "neovim-flake": { "inputs": { - "flake-utils": "flake-utils_4", + "flake-utils": "flake-utils_5", "nixpkgs": [ "nixvim", "neovim-nightly-overlay", @@ -817,11 +1158,11 @@ }, "locked": { "dir": "contrib", - "lastModified": 1713891901, - "narHash": "sha256-pL11HPJJQ9U5Lq/I5jfHPZGBcjIgm06pvcX+jF7dQrM=", + "lastModified": 1715815279, + "narHash": "sha256-Pf7ZlqPnr195NZb5ADzMVsXurPMjRZ+JMXf6JxvXArE=", "owner": "neovim", "repo": "neovim", - "rev": "c81b7849a0f677164c01cf84ecfb25c1f47acf21", + "rev": "9ca81b025990911c2a0dbda92af39ba84983bac3", "type": "github" }, "original": { @@ -833,18 +1174,18 @@ }, "neovim-nightly-overlay": { "inputs": { - "flake-compat": "flake-compat_2", - "flake-parts": "flake-parts", + "flake-compat": "flake-compat_3", + "flake-parts": "flake-parts_2", "hercules-ci-effects": "hercules-ci-effects", "neovim-flake": "neovim-flake", - "nixpkgs": "nixpkgs_5" + "nixpkgs": "nixpkgs_6" }, "locked": { - "lastModified": 1713917052, - "narHash": "sha256-gFeBWAE5ju8na9C2PHOY1ivFQLON8ptZShC0yVAAf+0=", + "lastModified": 1715817852, + "narHash": "sha256-UH5o7hT72oAavJTG2NxlpMyQe3BQMniQAsgTugWtlc4=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "36ebd81eec6aa60234a031ab012dd704329d29f0", + "rev": "7b5ca2486bba58cac80b9229209239740b67cf90", "type": "github" }, "original": { @@ -877,11 +1218,11 @@ ] }, "locked": { - "lastModified": 1714900109, - "narHash": "sha256-+VJWriIMcBv6p+Ri6e/6OWHrItWlunitXPzhfCvj82w=", + "lastModified": 1715746449, + "narHash": "sha256-JwgeIcNgF9zr7f+TRvjjPC40t5fKlJruzCZpyuSQ/FY=", "owner": "YaLTeR", "repo": "niri", - "rev": "9847a652af864109b3543e42d48087a38c0729ad", + "rev": "b87fba2182a0b187c0d991f48d305387d0bea5e3", "type": "github" }, "original": { @@ -899,11 +1240,11 @@ ] }, "locked": { - "lastModified": 1713543876, - "narHash": "sha256-olEWxacm1xZhAtpq+ZkEyQgR4zgfE7ddpNtZNvubi3g=", + "lastModified": 1713946171, + "narHash": "sha256-lc75rgRQLdp4Dzogv5cfqOg6qYc5Rp83oedF2t0kDp8=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "9e7c20ffd056e406ddd0276ee9d89f09c5e5f4ed", + "rev": "230a197063de9287128e2c68a7a4b0cd7d0b50a7", "type": "github" }, "original": { @@ -957,11 +1298,11 @@ ] }, "locked": { - "lastModified": 1714878592, - "narHash": "sha256-E68C03sYRsYFsK7wiGHUIJm8IsyPRALOrFoTL0glXnI=", + "lastModified": 1715483403, + "narHash": "sha256-WMDuQj7J5jbpXI/X/E6FZRKgBFGcaSTvYyVxPnKE6KU=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "a362555e9dbd4ecff3bb98969bbdb8f79fe87f10", + "rev": "f9027322f48b427da23746aa359a6510dfcd0228", "type": "github" }, "original": { @@ -970,6 +1311,55 @@ "type": "github" } }, + "nix-super": { + "inputs": { + "flake-compat": "flake-compat_2", + "flake-parts": "flake-parts", + "libgit2": "libgit2", + "nixpkgs": "nixpkgs_3", + "nixpkgs-regression": "nixpkgs-regression", + "pre-commit-hooks": "pre-commit-hooks" + }, + "locked": { + "lastModified": 1713821351, + "narHash": "sha256-JctHGT1oa4pet4PgUKRM7pf0w+qGe0a/ahVij8bee3o=", + "ref": "refs/heads/master", + "rev": "5ecd820c18b1aaa3c8ee257a7a9a2624c4107031", + "revCount": 17178, + "type": "git", + "url": "https://git.privatevoid.net/max/nix-super" + }, + "original": { + "type": "git", + "url": "https://git.privatevoid.net/max/nix-super" + } + }, + "nixpak": { + "inputs": { + "flake-parts": [ + "schizofox", + "flake-parts" + ], + "hercules-ci-effects": "hercules-ci-effects_2", + "nixpkgs": [ + "schizofox", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709985524, + "narHash": "sha256-29ZwMJBErP41ZPis1MskhdheDRgt+reDuf53jONSkc8=", + "owner": "nixpak", + "repo": "nixpak", + "rev": "b0862a125da8fe5d179633d6cc7aed57d5316871", + "type": "github" + }, + "original": { + "owner": "nixpak", + "repo": "nixpak", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1703013332, @@ -986,6 +1376,40 @@ "type": "github" } }, + "nixpkgs-lib": { + "locked": { + "dir": "lib", + "lastModified": 1698611440, + "narHash": "sha256-jPjHjrerhYDy3q9+s5EAsuhyhuknNfowY6yt6pjn9pc=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "0cbe9f69c234a7700596e943bfae7ef27a31b735", + "type": "github" + }, + "original": { + "dir": "lib", + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-regression": { + "locked": { + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "github" + } + }, "nixpkgs-stable": { "locked": { "lastModified": 1711460390, @@ -1004,11 +1428,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1714858427, - "narHash": "sha256-tCxeDP4C1pWe2rYY3IIhdA40Ujz32Ufd4tcrHPSKx2M=", + "lastModified": 1715458492, + "narHash": "sha256-q0OFeZqKQaik2U8wwGDsELEkgoZMK7gvfF6tTXkpsqE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b980b91038fc4b09067ef97bbe5ad07eecca1e76", + "rev": "8e47858badee5594292921c2668c11004c3b0142", "type": "github" }, "original": { @@ -1019,6 +1443,38 @@ } }, "nixpkgs_10": { + "locked": { + "lastModified": 1712791164, + "narHash": "sha256-3sbWO1mbpWsLepZGbWaMovSO7ndZeFqDSdX0hZ9nVyw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1042fd8b148a9105f3c0aca3a6177fd1d9360ba5", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_11": { + "locked": { + "lastModified": 1715413075, + "narHash": "sha256-FCi3R1MeS5bVp0M0xTheveP6hhcCYfW/aghSTPebYL4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e4e7a43a9db7e22613accfeb1005cca1b2b1ee0d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_12": { "locked": { "lastModified": 1708475490, "narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=", @@ -1034,14 +1490,66 @@ "type": "github" } }, + "nixpkgs_13": { + "locked": { + "lastModified": 1666603677, + "narHash": "sha256-apAEIj+z1iwMaMJ4tB21r/VTetfGDLDzuhXRHJknIAU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "074da18a72269cc5a6cf444dce42daea5649b2fe", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "nixpkgs_14": { + "locked": { + "lastModified": 0, + "narHash": "sha256-qLmYVviVnm/Yu05djBsKOy4Cta4ebilpE+QGaS22pnQ=", + "path": "/nix/store/79y4slnls9d1g3v25jb3kigak70w5kg7-source", + "type": "path" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "nixpkgs_15": { + "locked": { + "lastModified": 1666603677, + "narHash": "sha256-apAEIj+z1iwMaMJ4tB21r/VTetfGDLDzuhXRHJknIAU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "074da18a72269cc5a6cf444dce42daea5649b2fe", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "nixpkgs_16": { + "locked": { + "lastModified": 0, + "narHash": "sha256-qLmYVviVnm/Yu05djBsKOy4Cta4ebilpE+QGaS22pnQ=", + "path": "/nix/store/79y4slnls9d1g3v25jb3kigak70w5kg7-source", + "type": "path" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, "nixpkgs_2": { "locked": { - "lastModified": 1714906307, - "narHash": "sha256-UlRZtrCnhPFSJlDQE7M0eyhgvuuHBTe1eJ9N9AQlJQ0=", - "rev": "25865a40d14b3f9cf19f19b924e2ab4069b09588", - "revCount": 621993, + "lastModified": 1715534503, + "narHash": "sha256-5ZSVkFadZbFP1THataCaSf0JH2cAH3S29hU9rrxTEqk=", + "rev": "2057814051972fa1453ddfb0d98badbea9b83c06", + "revCount": 625274, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.621993%2Brev-25865a40d14b3f9cf19f19b924e2ab4069b09588/018f4c66-6d02-7cdf-be60-465b0f46742e/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.625274%2Brev-2057814051972fa1453ddfb0d98badbea9b83c06/018f723e-4a5e-7816-96b4-05d0f382b996/source.tar.gz" }, "original": { "type": "tarball", @@ -1050,21 +1558,37 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1714906307, - "narHash": "sha256-UlRZtrCnhPFSJlDQE7M0eyhgvuuHBTe1eJ9N9AQlJQ0=", - "owner": "nixos", + "lastModified": 1709083642, + "narHash": "sha256-7kkJQd4rZ+vFrzWu8sTRtta5D1kBG0LSRYAfhtmMlSo=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "25865a40d14b3f9cf19f19b924e2ab4069b09588", + "rev": "b550fe4b4776908ac2a861124307045f8e717c8e", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-unstable", + "owner": "NixOS", + "ref": "release-23.11", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_4": { + "locked": { + "lastModified": 1715125210, + "narHash": "sha256-qLmYVviVnm/Yu05djBsKOy4Cta4ebilpE+QGaS22pnQ=", + "owner": "arianvp", + "repo": "nixpkgs", + "rev": "a9d471e59ac9804d318727b9283c596bf2211efa", + "type": "github" + }, + "original": { + "owner": "arianvp", + "ref": "soft-reboot", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { "locked": { "lastModified": 1702346276, "narHash": "sha256-eAQgwIWApFQ40ipeOjVSoK4TEHVd6nbSd9fApiHIw5A=", @@ -1080,13 +1604,13 @@ "type": "github" } }, - "nixpkgs_5": { + "nixpkgs_6": { "locked": { - "lastModified": 1713805509, - "narHash": "sha256-YgSEan4CcrjivCNO5ZNzhg7/8ViLkZ4CB/GrGBVSudo=", + "lastModified": 1715774670, + "narHash": "sha256-iJYnKMtLi5u6hZhJm94cRNSDG5Rz6ZzIkGbhPFtDRm0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1e1dc66fe68972a76679644a5577828b6a7e8be4", + "rev": "b3fcfcfabd01b947a1e4f36622bbffa3985bdac6", "type": "github" }, "original": { @@ -1096,13 +1620,13 @@ "type": "github" } }, - "nixpkgs_6": { + "nixpkgs_7": { "locked": { - "lastModified": 1713926177, - "narHash": "sha256-AFgpVLDaAgdpNjUtzzUjXJLLv+pXAqJwaSzpyr/5j2Q=", + "lastModified": 1715839452, + "narHash": "sha256-2RZNfioh+Kki66mTC/YpA1oLTXvhAAQPpruFzr9mIi0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1c108068d22f4e386d0bea43e328890d6dd59228", + "rev": "0fa831ab4b8914a11fb5934ff7710aa3a35d99ba", "type": "github" }, "original": { @@ -1111,13 +1635,13 @@ "type": "github" } }, - "nixpkgs_7": { + "nixpkgs_8": { "locked": { - "lastModified": 1713714899, - "narHash": "sha256-+z/XjO3QJs5rLE5UOf015gdVauVRQd2vZtsFkaXBq2Y=", + "lastModified": 1715447595, + "narHash": "sha256-VsVAUQOj/cS1LCOmMjAGeRksXIAdPnFIjCQ0XLkCsT0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6143fc5eeb9c4f00163267708e26191d1e918932", + "rev": "062ca2a9370a27a35c524dc82d540e6e9824b652", "type": "github" }, "original": { @@ -1127,7 +1651,7 @@ "type": "github" } }, - "nixpkgs_8": { + "nixpkgs_9": { "locked": { "lastModified": 1708475490, "narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=", @@ -1143,37 +1667,21 @@ "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", + "flake-utils": "flake-utils_4", "neovim-nightly-overlay": "neovim-nightly-overlay", - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_7", "nixvim": "nixvim_2", - "treefmt-nix": "treefmt-nix" + "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1715057382, - "narHash": "sha256-aj8kMdbp2Tfzvh15h0vJ3s5RpS8d9VCMArQ989Y3sL4=", + "lastModified": 1715840692, + "narHash": "sha256-zQeqPyjsnKWZivRciwiMlcDu9XN8CleoVZlbOtGJafE=", "owner": "pupbrained", "repo": "nixvim", - "rev": "3751b528a5443c72d24bbdc71923feffa093965d", + "rev": "5dde07fff16a600f8f2e623c35a24ac4552b50b0", "type": "github" }, "original": { @@ -1185,19 +1693,21 @@ "nixvim_2": { "inputs": { "devshell": "devshell", - "flake-compat": "flake-compat_3", - "flake-parts": "flake-parts_3", + "flake-compat": "flake-compat_4", + "flake-parts": "flake-parts_4", + "flake-root": "flake-root", "home-manager": "home-manager_4", "nix-darwin": "nix-darwin", - "nixpkgs": "nixpkgs_7", - "pre-commit-hooks": "pre-commit-hooks" + "nixpkgs": "nixpkgs_8", + "pre-commit-hooks": "pre-commit-hooks_2", + "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1713856119, - "narHash": "sha256-TfNc8vxF7IaRhTlMgOeUN01y7QoBx50MYmGU1sSU6Vw=", + "lastModified": 1715807613, + "narHash": "sha256-3kL4E0Ff9TCvRNxwINzklupY7dcTpl89jTg0PGfBCJc=", "owner": "nix-community", "repo": "nixvim", - "rev": "c826d146c65bfa8164f31931cf54278b99f5a3a0", + "rev": "6be28a941b39a7cbe4d34b577bd095548f5d1e15", "type": "github" }, "original": { @@ -1208,8 +1718,40 @@ }, "pre-commit-hooks": { "inputs": { - "flake-compat": "flake-compat_4", - "flake-utils": "flake-utils_6", + "flake-compat": [ + "nix-super" + ], + "flake-utils": "flake-utils_2", + "gitignore": [ + "nix-super" + ], + "nixpkgs": [ + "nix-super", + "nixpkgs" + ], + "nixpkgs-stable": [ + "nix-super", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1712897695, + "narHash": "sha256-nMirxrGteNAl9sWiOhoN5tIHyjBbVi5e2tgZUgZlK3Y=", + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "rev": "40e6053ecb65fcbf12863338a6dcefb3f55f1bf8", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "pre-commit-hooks.nix", + "type": "github" + } + }, + "pre-commit-hooks_2": { + "inputs": { + "flake-compat": "flake-compat_5", + "flake-utils": "flake-utils_7", "gitignore": "gitignore", "nixpkgs": [ "nixvim", @@ -1223,11 +1765,11 @@ ] }, "locked": { - "lastModified": 1713775815, - "narHash": "sha256-Wu9cdYTnGQQwtT20QQMg7jzkANKQjwBD9iccfGKkfls=", + "lastModified": 1714478972, + "narHash": "sha256-q//cgb52vv81uOuwz1LaXElp3XAe1TqrABXODAEF6Sk=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "2ac4dcbf55ed43f3be0bae15e181f08a57af24a4", + "rev": "2849da033884f54822af194400f8dff435ada242", "type": "github" }, "original": { @@ -1239,15 +1781,15 @@ "rocksdb": { "flake": false, "locked": { - "lastModified": 1713810944, - "narHash": "sha256-/Xf0bzNJPclH9IP80QNaABfhj4IAR5LycYET18VFCXc=", - "owner": "facebook", + "lastModified": 1714770052, + "narHash": "sha256-NCPYF2wYBsB9OHEkZSOYoPlxjC9BBMhJp8EM5M1o3Mc=", + "owner": "girlbossceo", "repo": "rocksdb", - "rev": "6f7cabeac80a3a6150be2c8a8369fcecb107bf43", + "rev": "db6df0b185774778457dabfcbd822cb81760cade", "type": "github" }, "original": { - "owner": "facebook", + "owner": "girlbossceo", "ref": "v9.1.1", "repo": "rocksdb", "type": "github" @@ -1256,17 +1798,21 @@ "root": { "inputs": { "agenix": "agenix", + "catppuccin": "catppuccin", "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", + "nix-super": "nix-super", + "nixpkgs": "nixpkgs_4", "nixvim": "nixvim", - "snowfall-lib": "snowfall-lib", + "schizofox": "schizofox", + "snowfall-flake": "snowfall-flake", + "snowfall-lib": "snowfall-lib_2", "sops-nix": "sops-nix", - "treefmt-nix": "treefmt-nix_2" + "treefmt-nix": "treefmt-nix_3", + "xmonad-contrib": "xmonad-contrib" } }, "rust-analyzer-src": { @@ -1300,11 +1846,11 @@ ] }, "locked": { - "lastModified": 1707444620, - "narHash": "sha256-P8kRkiJLFttN+hbAOlm11wPxUrQZqKle+QtVCqFiGXY=", + "lastModified": 1714961776, + "narHash": "sha256-LiIxWRKbm1DZ+7l1a6FMmIO8leQx5yrRLIApCMai1DY=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "78503e9199010a4df714f29a4f9c00eb2ccae071", + "rev": "f3b20ea4131408ea585bddb1f41f91c4de9499cf", "type": "github" }, "original": { @@ -1313,10 +1859,102 @@ "type": "github" } }, + "schizofox": { + "inputs": { + "flake-compat": "flake-compat_6", + "flake-parts": "flake-parts_5", + "home-manager": "home-manager_5", + "nixpak": "nixpak", + "nixpkgs": "nixpkgs_10", + "searx-randomizer": "searx-randomizer", + "systems": "systems_9" + }, + "locked": { + "lastModified": 1714677453, + "narHash": "sha256-MlkAYTZz5/bFJgNIewbJa8mbtoVqg6Pq7t8A5Z1wVvc=", + "owner": "schizofox", + "repo": "schizofox", + "rev": "9c7263441064d0e3e4c94e1d8dbd8d260d00408d", + "type": "github" + }, + "original": { + "owner": "schizofox", + "repo": "schizofox", + "type": "github" + } + }, + "searx-randomizer": { + "inputs": { + "crane": "crane_2", + "flake-parts": "flake-parts_6", + "nixpkgs": [ + "schizofox", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1704412376, + "narHash": "sha256-Ap/AudJxCYBDWYy0lyqP0/FZYJCibL7jKkoj6hp1WS0=", + "owner": "schizofox", + "repo": "searx-randomizer", + "rev": "c36a473732ba6b4f6024ac1c181631cf4d542b17", + "type": "github" + }, + "original": { + "owner": "schizofox", + "repo": "searx-randomizer", + "type": "github" + } + }, + "snowfall-flake": { + "inputs": { + "flake-compat": "flake-compat_7", + "nixpkgs": [ + "nixpkgs" + ], + "snowfall-lib": "snowfall-lib" + }, + "locked": { + "lastModified": 1709228099, + "narHash": "sha256-5CCeUQbIPasl9WIiqZHucHCsf9uFl3VZ7Ay+eNA1GU0=", + "owner": "snowfallorg", + "repo": "flake", + "rev": "3dbad05e44aaee77342e386238c823733fffad20", + "type": "github" + }, + "original": { + "owner": "snowfallorg", + "repo": "flake", + "type": "github" + } + }, "snowfall-lib": { "inputs": { - "flake-compat": "flake-compat_5", + "flake-compat": "flake-compat_8", "flake-utils-plus": "flake-utils-plus", + "nixpkgs": [ + "snowfall-flake", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1694679207, + "narHash": "sha256-g6lYb6nXMpxYUVRZNRZPZI+L31xWlwF/r/oWZmiSYpo=", + "owner": "snowfallorg", + "repo": "lib", + "rev": "8df9cb69f2ee4199c2879baaafce4e13864496a7", + "type": "github" + }, + "original": { + "owner": "snowfallorg", + "repo": "lib", + "type": "github" + } + }, + "snowfall-lib_2": { + "inputs": { + "flake-compat": "flake-compat_9", + "flake-utils-plus": "flake-utils-plus_2", "nixpkgs": [ "nixpkgs" ] @@ -1338,15 +1976,15 @@ }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_9", + "nixpkgs": "nixpkgs_11", "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1715035358, - "narHash": "sha256-RY6kqhpCPa/q3vbqt3iYRyjO3hJz9KZnshMjbpPon8o=", + "lastModified": 1715482972, + "narHash": "sha256-y1uMzXNlrVOWYj1YNcsGYLm4TOC2aJrwoUY1NjQs9fM=", "owner": "Mic92", "repo": "sops-nix", - "rev": "893e3df091f6838f4f9d71c61ab079d5c5dedbd1", + "rev": "b6cb5de2ce57acb10ecdaaf9bbd62a5ff24fa02e", "type": "github" }, "original": { @@ -1385,6 +2023,36 @@ "type": "github" } }, + "systems_11": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_12": { + "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, @@ -1492,40 +2160,26 @@ }, "systems_9": { "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", "type": "github" }, "original": { "owner": "nix-systems", - "repo": "default", + "repo": "default-linux", "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" + "nixpkgs": [ + "nixvim", + "nixvim", + "nixpkgs" + ] }, "locked": { "lastModified": 1714058656, @@ -1541,21 +2195,97 @@ "type": "github" } }, - "utils": { + "treefmt-nix_2": { "inputs": { - "systems": "systems_4" + "nixpkgs": "nixpkgs_9" }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "lastModified": 1714058656, + "narHash": "sha256-Qv4RBm4LKuO4fNOfx9wl40W2rBbv5u5m+whxRYUMiaA=", "owner": "numtide", - "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "repo": "treefmt-nix", + "rev": "c6aaf729f34a36c445618580a9f95a48f5e4e03f", "type": "github" }, "original": { "owner": "numtide", - "repo": "flake-utils", + "repo": "treefmt-nix", + "type": "github" + } + }, + "treefmt-nix_3": { + "inputs": { + "nixpkgs": "nixpkgs_12" + }, + "locked": { + "lastModified": 1714058656, + "narHash": "sha256-Qv4RBm4LKuO4fNOfx9wl40W2rBbv5u5m+whxRYUMiaA=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "c6aaf729f34a36c445618580a9f95a48f5e4e03f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "unstable": { + "locked": { + "lastModified": 1715534503, + "narHash": "sha256-5ZSVkFadZbFP1THataCaSf0JH2cAH3S29hU9rrxTEqk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "2057814051972fa1453ddfb0d98badbea9b83c06", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "xmonad": { + "inputs": { + "flake-utils": "flake-utils_11", + "git-ignore-nix": "git-ignore-nix_2", + "nixpkgs": "nixpkgs_16", + "unstable": "unstable" + }, + "locked": { + "lastModified": 1715596600, + "narHash": "sha256-Njo7xrwJlDi8crWTTX69fBBAtO6zmZCS1CA7GwMgrGE=", + "owner": "xmonad", + "repo": "xmonad", + "rev": "f09d7aa6419f77989cf06a044f58653822e6678f", + "type": "github" + }, + "original": { + "owner": "xmonad", + "repo": "xmonad", + "type": "github" + } + }, + "xmonad-contrib": { + "inputs": { + "flake-utils": "flake-utils_10", + "git-ignore-nix": "git-ignore-nix", + "nixpkgs": "nixpkgs_14", + "xmonad": "xmonad" + }, + "locked": { + "lastModified": 1715629600, + "narHash": "sha256-n7d/MUfzJrbFJdtd9IKMJJkOqnEon0jNQW3a0HjIba8=", + "owner": "xmonad", + "repo": "xmonad-contrib", + "rev": "7210251138be285adb44164695716e50079f517b", + "type": "github" + }, + "original": { + "owner": "xmonad", + "repo": "xmonad-contrib", "type": "github" } }, diff --git a/flake.nix b/flake.nix index 224d44d..e9db278 100644 --- a/flake.nix +++ b/flake.nix @@ -3,6 +3,7 @@ { inputs = { agenix.url = "github:ryantm/agenix"; + catppuccin.url = "github:catppuccin/nix"; chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable"; flakegen.url = "github:jorsn/flakegen"; home-manager = { @@ -10,22 +11,25 @@ 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"; + nix-super.url = "git+https://git.privatevoid.net/max/nix-super"; + nixpkgs.url = "github:arianvp/nixpkgs/soft-reboot"; nixvim.url = "github:pupbrained/nixvim"; + schizofox.url = "github:schizofox/schizofox"; + snowfall-flake = { + inputs.nixpkgs.follows = "nixpkgs"; + url = "github:snowfallorg/flake"; + }; 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"; + xmonad-contrib.url = "github:xmonad/xmonad-contrib"; }; 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 index 4592dd7..147ce88 100644 --- a/homes/x86_64-linux/marshall@navis/default.nix +++ b/homes/x86_64-linux/marshall@navis/default.nix @@ -7,9 +7,41 @@ home = { packages = with pkgs; [ + eternal-terminal + firefox grc + iamb jamesdsp - vesktop + jetbrains-toolbox + kdePackages.neochat + killall + lm_sensors + mpv + playerctl + prismlauncher + quickemu + quickgui + telegram-desktop + xdotool + youki + (xwinwrap.overrideAttrs { + src = fetchFromGitHub { + owner = "camonater62"; + repo = "xwinwrap"; + rev = "ec74e730072225ffa740bf5076a1dd0a343bb113"; + sha256 = "0vfwbcx5y1aphiaix2zps1bl7lhbhdvm6vhys2m0kwvl6igy0cc8"; + }; + + buildPhase = '' + make all + ''; + + installPhase = '' + mkdir -p $out/bin + mv xwinwrap $out/bin + ''; + }) + (vesktop.overrideAttrs {withSystemVencord = false;}) ] ++ (with inputs; [ nixvim.packages.${pkgs.system}.default @@ -18,19 +50,138 @@ distrobox_git ]); + pointerCursor = { + gtk.enable = true; + x11.enable = true; + name = "Catppuccin-Mocha-Green-Cursors"; + package = pkgs.catppuccin-cursors.mochaGreen; + size = 24; + }; + stateVersion = "24.05"; }; + dconf.settings = { + "org/virt-manager/virt-manager/connections" = { + autoconnect = ["qemu:///system"]; + uris = ["qemu:///system"]; + }; + }; + + xdg.enable = true; + + catppuccin = { + enable = true; + flavour = "mocha"; + accent = "green"; + }; + + gtk = { + enable = true; + + catppuccin = { + enable = true; + icon.enable = true; + cursor.enable = true; + size = "standard"; + tweaks = ["normal"]; + }; + }; + programs = { - nheko.enable = true; nix-index-database.comma.enable = true; nix-index.enable = true; + ripgrep.enable = true; + xmobar.enable = true; + + eza = { + enable = true; + git = true; + icons = true; + }; + + btop = { + enable = true; + catppuccin.enable = true; + }; direnv = { enable = true; nix-direnv.enable = true; }; + + rofi = { + enable = true; + catppuccin.enable = true; + + extraConfig = { + modi = "run,drun,window"; + icon-theme = "Oranchelo"; + show-icons = true; + terminal = "wezterm"; + drun-display-format = "{icon} {name}"; + location = 0; + disable-history = false; + hide-scrollbar = true; + display-drun = "  Apps "; + display-run = "  Run "; + display-window = " 󰍲 Window"; + display-Network = " 󰤨 Network"; + sidebar-mode = true; + }; + + theme = { + "*".font = "Maple Mono NF 14"; + }; + }; }; - nix.package = lib.mkForce pkgs.nixVersions.git; + services = { + picom = { + enable = true; + backend = "glx"; + fadeDelta = 5; + fade = true; + shadow = true; + vSync = true; + + shadowExclude = [ + "class_g = 'firefox' && argb" + "class_g *?= 'slop'" + ]; + + settings = { + corner-radius = 10; + + blur-background-exclude = [ + "class_g = 'slop'" + ]; + + rounded-corners-exclude = [ + "window_type = 'dock'" + "window_type = 'desktop'" + ]; + + blur = { + method = "gaussian"; + size = 10; + deviation = 5.0; + }; + }; + }; + + dunst = { + enable = true; + settings.global = { + corner_radius = 10; + offset = "18x53"; + frame_width = 2; + font = "SN Pro 12"; + frame_color = lib.mkForce "#a6e3a1"; + }; + catppuccin.enable = true; + }; + }; + + nix.package = lib.mkForce pkgs.nixSuper; } diff --git a/modules/home/plasma/default.nix.bak b/modules/home/plasma/default.nix.bak deleted file mode 100644 index 6b4e8fd..0000000 --- a/modules/home/plasma/default.nix.bak +++ /dev/null @@ -1,5 +0,0 @@ -{...}: { - programs.plasma = { - enable = true; - }; -} diff --git a/modules/home/screenshot/clipboard.svg b/modules/home/screenshot/clipboard.svg new file mode 100644 index 0000000..443f6b3 --- /dev/null +++ b/modules/home/screenshot/clipboard.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/modules/home/screenshot/default.nix b/modules/home/screenshot/default.nix new file mode 100644 index 0000000..7b2ec19 --- /dev/null +++ b/modules/home/screenshot/default.nix @@ -0,0 +1,80 @@ +{pkgs, ...}: +with pkgs; { + home.packages = [ + (writeScriptBin "screenshot" '' + notify_user() { + ${pulseaudio}/bin/paplay ${sound-theme-freedesktop}/share/sounds/freedesktop/stereo/screen-capture.oga 2>/dev/null & + ${libnotify}/bin/notify-send \ + -a Clipboard \ + -i ${builtins.toString ./clipboard.svg} \ + -u low \ + -r 699 "Clipboard" "Screenshot saved on clipboard" + } + + screen() { + ${maim}/bin/maim -u -f png | ${pkgs.xclip}/bin/xclip -selection clipboard -t image/png + notify_user + } + + window() { + ${maim}/bin/maim -u -f png -i "$(${xdotool}/bin/xdotool getactivewindow)" | ${pkgs.xclip}/bin/xclip -selection clipboard -t image/png + notify_user + } + + area() { + ${maim}/bin/maim -u -f png -s -b 2 -c 0.35,0.55,0.85,0.25 -l | ${pkgs.xclip}/bin/xclip -selection clipboard -t image/png + notify_user + } + + menu() { + screen="󰍹" + area="󰒉" + window="" + + chosen="$(printf "%s\n%s\n%s\n%s\n" "$screen" "$area" "$window" | rofi -theme ${builtins.toString ./screenshot.rasi} -p 'Take Screenshot' -dmenu -selected-row 0 -theme-str 'listview {lines: 3;}')" + + case $chosen in + "$screen") + screen + ;; + "$area") + area + ;; + "$window") + window + ;; + esac + } + + docs() { + echo " + Usage: screenshot [Options] + --help - Prints this message + Options: + --screen - Take screenshot of the screen + --window - Take screenshot of the focused window + --area - Take screenshot of the selected area + --menu - Opens a gui selector + " + } + + case $1 in + --screen) + screen + ;; + --window) + window + ;; + --area) + area + ;; + --menu) + menu + ;; + --help | *) + docs + ;; + esac + '') + ]; +} diff --git a/modules/home/screenshot/screenshot.rasi b/modules/home/screenshot/screenshot.rasi new file mode 100644 index 0000000..dd70c3f --- /dev/null +++ b/modules/home/screenshot/screenshot.rasi @@ -0,0 +1,67 @@ +* { + font: "Maple Mono NF 12"; + accent: #a6e3a1; + base: #1e1e2e; + mantle: #181825; + text: #cdd6f4; +} + +configuration { + location: 4; + show-icons: false; + click-to-exit: true; +} + +window { + transparency: "real"; + background-color: @base; + text-color: @text; + border: 2px solid; + border-color: @mantle; + border-radius: 12px; + width: 100px; + x-offset: -10; +} + +mainbox { + background-color: @base; + spacing: 10px; + padding: 20px; + children: [ listview ]; +} + +listview { + background-color: @mantle; + border-radius: 100%; + columns: 1; + cycle: true; + dynamic: true; + fixed-height: true; + fixed-columns: true; + layout: vertical; +} + +element { + background-color: transparent; + text-color: @text; + orientation: horizontal; + border-radius: 100%; + padding: 14px; + cursor: pointer; +} + + +element-text { + background-color: inherit; + text-color: inherit; + font: "Phosphor 16"; + horizontal-align: 0.25; + vertical-align: 0.5; + margin: 0px; + cursor: inherit; +} + +element selected.normal { + background-color: @accent; + text-color: @mantle; +} diff --git a/modules/home/shell/default.nix b/modules/home/shell/default.nix index e29f795..dba039c 100644 --- a/modules/home/shell/default.nix +++ b/modules/home/shell/default.nix @@ -1,27 +1,25 @@ -{pkgs, ...}: -with pkgs; { +{...}: { imports = [ ./fish.nix ./git.nix ./wezterm.nix ./macchina.nix + ./nushell ]; programs = { + atuin = { + enable = true; + settings = { + inline_height = 20; + show_preview = true; + style = "compact"; + }; + }; + 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"; - }; + catppuccin.enable = true; }; zoxide = { diff --git a/modules/home/shell/fish.nix b/modules/home/shell/fish.nix index 4344226..fa407e0 100644 --- a/modules/home/shell/fish.nix +++ b/modules/home/shell/fish.nix @@ -95,41 +95,7 @@ with pkgs; { 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"; - }; - }; + catppuccin.enable = true; }; }; } diff --git a/modules/home/shell/macchina.nix b/modules/home/shell/macchina.nix index d1a4103..530814c 100644 --- a/modules/home/shell/macchina.nix +++ b/modules/home/shell/macchina.nix @@ -12,7 +12,6 @@ with pkgs; { "Distribution" "Kernel" "LocalIP" - "Machine" "Memory" "Packages" "ProcessorLoad" diff --git a/modules/home/shell/nushell/config.nu b/modules/home/shell/nushell/config.nu new file mode 100644 index 0000000..466e8df --- /dev/null +++ b/modules/home/shell/nushell/config.nu @@ -0,0 +1,113 @@ +const color_palette = { + 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" +} + +$env.config.color_config = { + separator: $color_palette.overlay0 + leading_trailing_space_bg: { attr: "n" } + header: { fg: $color_palette.blue attr: "b" } + empty: $color_palette.lavender + bool: $color_palette.lavender + int: $color_palette.peach + duration: $color_palette.text + filesize: {|e| + if $e < 1mb { + $color_palette.green + } else if $e < 100mb { + $color_palette.yellow + } else if $e < 500mb { + $color_palette.peach + } else if $e < 800mb { + $color_palette.maroon + } else if $e > 800mb { + $color_palette.red + } + } + date: {|| (date now) - $in | + if $in < 1hr { + $color_palette.green + } else if $in < 1day { + $color_palette.yellow + } else if $in < 3day { + $color_palette.peach + } else if $in < 1wk { + $color_palette.maroon + } else if $in > 1wk { + $color_palette.red + } + } + range: $color_palette.text + float: $color_palette.text + string: $color_palette.text + nothing: $color_palette.text + binary: $color_palette.text + cellpath: $color_palette.text + row_index: { fg: $color_palette.mauve attr: "b" } + record: $color_palette.text + list: $color_palette.text + block: $color_palette.text + hints: $color_palette.overlay1 + search_result: { fg: $color_palette.red bg: $color_palette.text } + + shape_and: { fg: $color_palette.pink attr: "b" } + shape_binary: { fg: $color_palette.pink attr: "b" } + shape_block: { fg: $color_palette.blue attr: "b" } + shape_bool: $color_palette.teal + shape_custom: $color_palette.green + shape_datetime: { fg: $color_palette.teal attr: "b" } + shape_directory: $color_palette.teal + shape_external: $color_palette.teal + shape_externalarg: { fg: $color_palette.green attr: "b" } + shape_filepath: $color_palette.teal + shape_flag: { fg: $color_palette.blue attr: "b" } + shape_float: { fg: $color_palette.pink attr: "b" } + shape_garbage: { fg: $color_palette.text bg: $color_palette.red attr: "b" } + shape_globpattern: { fg: $color_palette.teal attr: "b" } + shape_int: { fg: $color_palette.pink attr: "b" } + shape_internalcall: { fg: $color_palette.teal attr: "b" } + shape_list: { fg: $color_palette.teal attr: "b" } + shape_literal: $color_palette.blue + shape_match_pattern: $color_palette.green + shape_matching_brackets: { attr: "u" } + shape_nothing: $color_palette.teal + shape_operator: $color_palette.peach + shape_or: { fg: $color_palette.pink attr: "b" } + shape_pipe: { fg: $color_palette.pink attr: "b" } + shape_range: { fg: $color_palette.peach attr: "b" } + shape_record: { fg: $color_palette.teal attr: "b" } + shape_redirection: { fg: $color_palette.pink attr: "b" } + shape_signature: { fg: $color_palette.green attr: "b" } + shape_string: $color_palette.green + shape_string_interpolation: { fg: $color_palette.teal attr: "b" } + shape_table: { fg: $color_palette.blue attr: "b" } + shape_variable: $color_palette.pink + + background: $color_palette.base + foreground: $color_palette.text + cursor: $color_palette.blue +} diff --git a/modules/home/shell/nushell/default.nix b/modules/home/shell/nushell/default.nix new file mode 100644 index 0000000..f3d7363 --- /dev/null +++ b/modules/home/shell/nushell/default.nix @@ -0,0 +1,11 @@ +{pkgs, ...}: +with pkgs; { + programs = { + carapace.enable = true; + + nushell = { + enable = true; + configFile.source = ./config.nu; + }; + }; +} diff --git a/modules/home/shell/wezterm.nix b/modules/home/shell/wezterm.nix index 7c11c04..019a041 100644 --- a/modules/home/shell/wezterm.nix +++ b/modules/home/shell/wezterm.nix @@ -59,36 +59,44 @@ }, { key = 'h', - mods = 'ALT', + mods = 'ALT|SHIFT', action = act.ActivatePaneDirection('Left'), }, { key = 'l', - mods = 'ALT', + mods = 'ALT|SHIFT', action = act.ActivatePaneDirection 'Right', }, { key = 'k', - mods = 'ALT', + mods = 'ALT|SHIFT', action = act.ActivatePaneDirection 'Up', }, { key = 'j', - mods = 'ALT', + mods = 'ALT|SHIFT', action = act.ActivatePaneDirection 'Down', }, + { + key = 't', + mods = 'CTRL|SHIFT', + action = act.SpawnCommandInNewTab { cwd = wezterm.home_dir }, + } } local config = { + initial_cols = 160, 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_kitty_graphics = true, enable_scroll_bar = false, font_size = 12, font = wezterm.font('Maple Mono NF'), + keys = keybinds, front_end = 'WebGpu', underline_position = -4, use_fancy_tab_bar = false, diff --git a/nvfetcher.toml b/nvfetcher.toml new file mode 100644 index 0000000..75f275e --- /dev/null +++ b/nvfetcher.toml @@ -0,0 +1,3 @@ +[linux-wallpaperengine-latest] +src.git = "https://github.com/Almamu/linux-wallpaperengine" +fetch.github = "Almamu/linux-wallpaperengine" diff --git a/packages/lightly-boehs-qt6/default.nix b/packages/lightly-boehs-qt6/default.nix new file mode 100644 index 0000000..21a8beb --- /dev/null +++ b/packages/lightly-boehs-qt6/default.nix @@ -0,0 +1,50 @@ +{ + lib, + stdenv, + pkgs, + ... +}: +with pkgs; + stdenv.mkDerivation { + pname = "lightly-boehs-qt6"; + version = "v0.4.2"; + + src = fetchFromGitHub { + owner = "boehs"; + repo = "Lightly"; + rev = "00ca23447844114d41bfc0d37cf8823202c082e8"; + sha256 = "sha256-NpgOcN9sDqgQMjqcfx92bfKohxaJpnwMgxb9MCu9uJM="; + }; + + buildInputs = with kdePackages; [ + kcmutils + kconfig + kdecoration + kirigami + kguiaddons + kcolorscheme + kcoreaddons + ki18n + kiconthemes + kwindowsystem + ]; + + extraCmakeFlags = ["-DBUILD_TESTING=OFF"]; + + nativeBuildInputs = [ + cmake + kdePackages.qttools + kdePackages.extra-cmake-modules + kdePackages.wrapQtAppsHook + ]; + patches = [./missing.patch]; + + meta = with lib; { + description = "A fork of the Lightly breeze theme style that aims to be visually modern and minimalistic"; + mainProgram = "lightly-settings"; + homepage = "https://github.com/boehs/Lightly"; + license = licenses.gpl2Plus; + maintainers = [maintainers.hikari]; + platforms = platforms.all; + }; + } diff --git a/packages/lightly-boehs-qt6/missing.patch b/packages/lightly-boehs-qt6/missing.patch new file mode 100644 index 0000000..fc73038 --- /dev/null +++ b/packages/lightly-boehs-qt6/missing.patch @@ -0,0 +1,186 @@ +diff --git a/kdecoration/config/CMakeLists.txt b/kdecoration/config/CMakeLists.txt +new file mode 100644 +index 00000000..e4b08f0a +--- /dev/null ++++ b/kdecoration/config/CMakeLists.txt +@@ -0,0 +1,37 @@ ++##### config classes ææææææ ++ ++set(lightlydecoration_config_SRCS ++ ../lightlyexceptionlist.cpp ++ lightlyconfigwidget.cpp ++ lightlydetectwidget.cpp ++ lightlyexceptiondialog.cpp ++ lightlyexceptionlistwidget.cpp ++ lightlyexceptionmodel.cpp ++ lightlyitemmodel.cpp ++) ++ki18n_wrap_ui(lightlydecoration_config_SRCS ++ ui/lightlyconfigurationui.ui ++ ui/lightlydetectwidget.ui ++ ui/lightlyexceptiondialog.ui ++ ui/lightlyexceptionlistwidget.ui ++) ++ ++kcoreaddons_add_plugin(kcm_lightlydecoration SOURCES kcm_lightlydecoration.cpp ${lightlydecoration_config_SRCS} INSTALL_NAMESPACE "${KDECORATION_KCM_PLUGIN_DIR}") ++kconfig_add_kcfg_files(kcm_lightlydecoration ../lightlysettings.kcfgc) ++target_include_directories(kcm_lightlydecoration PRIVATE ${CMAKE_SOURCE_DIR}/kdecoration ${CMAKE_BINARY_DIR}/kdecoration/) ++target_link_libraries(kcm_lightlydecoration ++ PUBLIC ++ Qt6::Core ++ Qt6::Gui ++ Qt6::DBus ++ KDecoration2::KDecoration ++ PRIVATE ++ KF6::CoreAddons ++ KF6::ConfigWidgets ++ KF6::GuiAddons ++ KF6::I18n ++ KF6::IconThemes ++ KF6::WindowSystem ++ KF6::KCMUtils ++) ++kcmutils_generate_desktop_file(kcm_lightlydecoration) +diff --git a/kdecoration/config/kcm_lightlydecoration.cpp b/kdecoration/config/kcm_lightlydecoration.cpp +new file mode 100644 +index 00000000..de9ac802 +--- /dev/null ++++ b/kdecoration/config/kcm_lightlydecoration.cpp +@@ -0,0 +1,6 @@ ++#include "lightlyconfigwidget.h" ++#include ++ ++K_PLUGIN_CLASS_WITH_JSON(Lightly::ConfigWidget, "kcm_lightlydecoration.json") ++ ++#include "kcm_lightlydecoration.moc" +diff --git a/kdecoration/config/kcm_lightlydecoration.json b/kdecoration/config/kcm_lightlydecoration.json +new file mode 100644 +index 00000000..d2013276 +--- /dev/null ++++ b/kdecoration/config/kcm_lightlydecoration.json +@@ -0,0 +1,60 @@ ++{ ++ "KPlugin": { ++ "Description": "Modify the appearance of window decorations", ++ "Description[ar]": "عدّل مظهر زخرفات النّوافذ", ++ "Description[az]": "Pəncərə tərtibatının görünüşünü dəyişdirin", ++ "Description[bg]": "Настройване на външния изглед на прозорците", ++ "Description[ca@valencia]": "Modifica l'aparença de les decoracions de les finestres", ++ "Description[ca]": "Modifica l'aparença de les decoracions de les finestres", ++ "Description[cs]": "Změnit vzhled dekorace oken", ++ "Description[da]": "Ændr vinduesdekorationers udseende", ++ "Description[de]": "Das Erscheinungsbild der Fensterdekoration ändern", ++ "Description[el]": "Τροποποίηση εμφάνισης της διακόσμησης παραθύρου", ++ "Description[en_GB]": "Modify the appearance of window decorations", ++ "Description[es]": "Modificar el aspecto de las decoraciones de las ventanas", ++ "Description[et]": "Akna dekoratsioonide välimuse muutmine", ++ "Description[eu]": "Aldatu leiho apainduren itxura", ++ "Description[fi]": "Muuta ikkunoiden kehysten ulkoasua", ++ "Description[fr]": "Modifier l'apparence des décorations des fenêtres", ++ "Description[gl]": "Modifica a aparencia da decoración da xanela", ++ "Description[he]": "התאם את מראה מסגרות החלונות", ++ "Description[hi]": "विंडो सजावटों की दिखावट को परिवर्तित करें", ++ "Description[hu]": "Az ablakdekorációk megjelenésének módosítása", ++ "Description[ia]": "Modifica le apparentia de decorationes de fenestra", ++ "Description[id]": "Memodifikasi penampilan dekorasi window", ++ "Description[it]": "Modifica l'aspetto delle decorazioni delle finestre", ++ "Description[ja]": "ウィンドウ装飾の外観を編集", ++ "Description[ko]": "창 장식의 모습을 수정합니다", ++ "Description[lt]": "Keisti lango dekoracijų išvaizdą", ++ "Description[nb]": "Endre utseende for vindusdekorasjoner", ++ "Description[nl]": "Wijzig het uiterlijk van vensterdecoraties", ++ "Description[nn]": "Endra utsjånad på vindaugspynt", ++ "Description[pa]": "ਵਿੰਡੋ ਸਜਾਵਟ ਦੀ ਦਿੱਖ ਨੂੰ ਸੋਧੋ", ++ "Description[pl]": "Zmień wygląd i wystrój okien", ++ "Description[pt]": "Modificar a aparência das decorações das janelas", ++ "Description[pt_BR]": "Modifica a aparência das decorações da janela", ++ "Description[ro]": "Modifică aspectul decorațiilor pentru ferestre", ++ "Description[ru]": "Настройка заголовков окон в стиле Breeze", ++ "Description[sk]": "Zmena vzhľadu dekorácie okien", ++ "Description[sl]": "Spremenite videz okrasitve oken", ++ "Description[sr@ijekavian]": "Измијените изглед декорација прозора", ++ "Description[sr@ijekavianlatin]": "Izmijenite izgled dekoracija prozora", ++ "Description[sr@latin]": "Izmenite izgled dekoracija prozora", ++ "Description[sr]": "Измените изглед декорација прозора", ++ "Description[sv]": "Ändra utseendet hos fönsterdekorationer", ++ "Description[tg]": "Тағйир додани ороиши намуди зоҳирии равзанаҳо", ++ "Description[tr]": "Pencere dekorasyonlarının görünümünü değiştir", ++ "Description[uk]": "Зміна вигляду декорацій вікон", ++ "Description[x-test]": "xxModify the appearance of window decorationsxx", ++ "Description[zh_CN]": "修改窗口装饰外观", ++ "Description[zh_TW]": "變更視窗裝飾外觀", ++ "Icon": "preferences-system-windows", ++ "Name": "Lightly: Window Decoration", ++ "ServiceTypes": [ ++ "KCModule" ++ ] ++ }, ++ "X-KDE-Keywords": "Lightly,decoration", ++ "X-KDE-ParentApp": "kcontrol", ++ "X-KDE-Weight": 50 ++} +diff --git a/kstyle/config/lightlystyleconfig.json b/kstyle/config/lightlystyleconfig.json +new file mode 100644 +index 00000000..f4f58aeb +--- /dev/null ++++ b/kstyle/config/lightlystyleconfig.json +@@ -0,0 +1,59 @@ ++{ ++ "KPlugin": { ++ "Description": "Modify the appearance of widgets", ++ "Description[ar]": "عدّل مظهر الودجات", ++ "Description[az]": "Vidjetin görünüşünü dəyişin", ++ "Description[bg]": "Настройване на външния изглед на приставките", ++ "Description[ca@valencia]": "Modifica l'aparença dels ginys", ++ "Description[ca]": "Modifica l'aparença dels ginys", ++ "Description[cs]": "Změnit vzhled widgetů", ++ "Description[da]": "Ændr kontrollers udseende", ++ "Description[de]": "Das Erscheinungsbild der Bedienelemente ändern", ++ "Description[el]": "Τροποποίηση εμφάνισης συστατικών", ++ "Description[en_GB]": "Modify the appearance of widgets", ++ "Description[es]": "Modificar el aspecto de los elementos gráficos", ++ "Description[et]": "Vidinate välimuse muutmine", ++ "Description[eu]": "Aldatu trepeten itxura", ++ "Description[fi]": "Muuta elementtien ulkoasua", ++ "Description[fr]": "Modifier l'apparence des composants graphiques", ++ "Description[gl]": "Modifica a aparencia dos trebellos", ++ "Description[he]": "התאם את המראה של היישומונים", ++ "Description[hi]": "विजेट की दिखावट को परिवर्तित करें", ++ "Description[hu]": "Az elemek megjelenésének módosítása", ++ "Description[ia]": "Modifica le apparentia de widgets", ++ "Description[id]": "Memodifikasi penampilan widget", ++ "Description[it]": "Modifica l'aspetto degli oggetti", ++ "Description[ja]": "ウィジェットの外観を編集", ++ "Description[ko]": "위젯의 모습을 수정합니다", ++ "Description[lt]": "Keisti valdiklių išvaizdą", ++ "Description[nb]": "Endre utseende for skjermelementer", ++ "Description[nl]": "Wijzig het uiterlijk van widgets", ++ "Description[nn]": "Endra utsjånaden på skjermkontrollar", ++ "Description[pl]": "Zmień wygląd interfejsu", ++ "Description[pt]": "Modificar a aparência dos elementos gráficos", ++ "Description[pt_BR]": "Modifica a aparência dos widgets", ++ "Description[ro]": "Modifică aspectul controalelor", ++ "Description[ru]": "Настройка элементов интерфейса в стиле Breeze", ++ "Description[sk]": "Zmena vzhľadu miniaplikácií", ++ "Description[sl]": "Spremenite videz gradnikov", ++ "Description[sr@ijekavian]": "Измијените изглед виџета̂", ++ "Description[sr@ijekavianlatin]": "Izmijenite izgled vidžetâ̂", ++ "Description[sr@latin]": "Izmenite izgled vidžetâ̂", ++ "Description[sr]": "Измените изглед виџета̂", ++ "Description[sv]": "Ändra utseende hos grafiska komponenter", ++ "Description[tg]": "Тағйир додани намуди зоҳирии виҷетҳо", ++ "Description[tr]": "Araç takımlarının görünümünü değiştir", ++ "Description[uk]": "Зміна вигляду віджетів", ++ "Description[x-test]": "xxModify the appearance of widgetsxx", ++ "Description[zh_CN]": "调整窗口部件外观", ++ "Description[zh_TW]": "變更元件外觀", ++ "Icon": "preferences-desktop-theme", ++ "Name": "Lightly: Widget Style", ++ "ServiceTypes": [ ++ "KCModule" ++ ] ++ }, ++ "X-KDE-Keywords": "lightly,widget,style", ++ "X-KDE-ParentApp": "kcontrol", ++ "X-KDE-Weight": 60 ++} diff --git a/systems/x86_64-linux/navis/default.nix b/systems/x86_64-linux/navis/default.nix index a2a9bdb..66c15ba 100644 --- a/systems/x86_64-linux/navis/default.nix +++ b/systems/x86_64-linux/navis/default.nix @@ -2,11 +2,44 @@ pkgs, config, inputs, + lib, ... }: -with pkgs; { +with lib // pkgs // inputs; { imports = [./hardware.nix]; + security.sudo.extraConfig = '' + Defaults lecture = never, pwfeedback + ''; + + security.pam.loginLimits = [ + { + domain = "*"; + item = "nofile"; + type = "-"; + value = "32768"; + } + { + domain = "*"; + item = "memlock"; + type = "-"; + value = "32768"; + } + ]; + + console.catppuccin.enable = true; + + systemd.user.extraConfig = let + path = lib.concatStringsSep ":" [ + "/run/wrappers/bin" + "/etc/profiles/per-user/%u/bin" + "/nix/var/nix/profiles/default/bin" + "/run/current-system/sw/bin" + ]; + in '' + DefaultEnvironment="PATH=${path}" + ''; + age = { secrets.passwd.file = /etc/secrets/passwd.age; identityPaths = [ @@ -26,23 +59,41 @@ with pkgs; { ]; }; - virtualisation.podman.enable = true; - virtualisation.podman.enableNvidia = true; + virtualisation = { + spiceUSBRedirection.enable = true; + + libvirtd = { + enable = true; + qemu = { + package = qemu_kvm; + swtpm.enable = true; + ovmf.enable = true; + ovmf.packages = [OVMFFull.fd]; + }; + }; + + podman = { + enable = true; + dockerCompat = true; + dockerSocket.enable = true; + }; + }; environment = { sessionVariables = { - NIXOS_OZONE_WL = "1"; EDITOR = "nvim"; + DIRENV_WARN_TIMEOUT = "100s"; }; - systemPackages = - [ - kde-rounded-corners - ] - ++ (with inputs; [ - agenix.packages.${system}.default - kwin-effects-forceblur.packages.${system}.default - ]); + systemPackages = [ + agenix.packages.${system}.default + gnome.nautilus + internal.lightly-boehs-qt6 + snowfallorg.flake + sound-theme-freedesktop + xclip + yt-dlp + ]; persistence."/persist" = { hideMounts = true; @@ -53,73 +104,151 @@ with pkgs; { "/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=";}; - } + "/etc/NetworkManager" ]; + files = ["/etc/machine-id"]; }; }; boot = { - #initrd.systemd.enable = true; - #plymouth.enable = true; - - blacklistedKernelModules = ["i915"]; + blacklistedKernelModules = ["nouveau"]; kernelPackages = linuxPackages_cachyos; - kernelParams = ["module_blacklist=i915" "quiet"]; supportedFilesystems = ["btrfs" "ntfs"]; + binfmt.registrations.appimage = { + wrapInterpreterInShell = false; + interpreter = "${appimage-run}/bin/appimage-run"; + recognitionType = "magic"; + offset = 0; + mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff''; + magicOrExtension = ''\x7fELF....AI\x02''; + }; + + initrd.systemd = { + enable = true; + emergencyAccess = true; # No password needed bc of LUKS + }; + + plymouth = { + enable = true; + catppuccin.enable = true; + }; + + extraModprobeConfig = + "options nvidia " + + concatStringsSep " " [ + "NVreg_UsePageAttributeTable=1" + "NVreg_EnablePCIeGen3=1" + "NVreg_RegistryDwords=RMUseSwI2c=0x01;RMI2cSpeed=100" + ]; + + kernelParams = [ + "intel_iommu=on" + "iommu=pt" + "kvm.ignore_msrs=1" + "modprobe.blacklist=nouveau" + ]; + loader = { - systemd-boot.enable = true; efi.canTouchEfiVariables = true; + + systemd-boot = { + enable = true; + configurationLimit = 20; + }; }; }; - nix = { - package = nixVersions.git; + nix = let + mappedRegistry = pipe inputs [ + (filterAttrs (_: isType "flake")) + (mapAttrs (_: flake: {inherit flake;})) + (x: x // {nixpkgs.flake = nixpkgs;}) + ]; + in { + package = mkForce nixSuper; + registry = mappedRegistry // optionalAttrs (config.nix.package == nixSuper) {default = mappedRegistry.nixpkgs;}; + nixPath = mapAttrsToList (key: _: "${key}=flake:${key}") config.nix.registry; + + daemonCPUSchedPolicy = "batch"; + daemonIOSchedClass = "idle"; + daemonIOSchedPriority = 7; + + gc = { + automatic = true; + dates = "Sat *-*-* 03:00"; + options = "--delete-older-than 30d"; + }; + + optimise = { + automatic = true; + dates = ["04:00"]; + }; settings = { - trusted-users = ["marshall"]; + auto-optimise-store = true; + builders-use-substitutes = true; + flake-registry = "/etc/nix/registry.json"; + keep-going = true; + log-lines = 30; + max-jobs = "auto"; + sandbox-fallback = false; + sandbox = true; + system-features = ["nixos-test" "kvm" "recursive-nix" "big-parallel"]; + use-cgroups = true; + use-xdg-base-directories = true; + warn-dirty = false; + + allowed-users = ["root" "@wheel" "nix-builder"]; + trusted-users = ["root" "@wheel" "nix-builder"]; + + min-free = "${toString (5 * 1024 * 1024 * 1024)}"; + max-free = "${toString (10 * 1024 * 1024 * 1024)}"; + + extra-experimental-features = [ + "flakes" # flakes + "nix-command" # experimental nix commands + "recursive-nix" # let nix invoke itself + "ca-derivations" # content addressed nix + "auto-allocate-uids" # allow nix to automatically pick UIDs, rather than creating nixbld* user accounts + "cgroups" # allow nix to execute builds inside cgroups + ]; + substituters = [ "https://cache.nixos.org" "https://nix-community.cachix.org" - "https://cache.iog.io" "https://nyx.chaotic.cx/" + "https://cuda-maintainers.cachix.org" + "https://cache.privatevoid.net" ]; trusted-substituters = [ "cache.nixos.org" "nix-community.cachix.org" - "cache.iog.io" "nyx.chaotic.cx" + "cuda-maintainers.cachix.org" + "cache.privatevoid.net" ]; 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=" + "cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E=" + "cache.privatevoid.net:SErQ8bvNWANeAvtsOESUwVYr2VJynfuc9JRwlzTTkVg=" ]; }; }; programs = { + dconf.enable = true; fish.enable = true; gamemode.enable = true; + nix-ld.enable = true; steam.enable = true; gnupg.agent.enable = true; + virt-manager.enable = true; nh = { enable = true; @@ -131,8 +260,10 @@ with pkgs; { networking = { hostName = "navis"; - networkmanager.enable = true; firewall.enable = false; + nameservers = ["1.1.1.1" "1.0.0.1"]; + networkmanager.dns = "none"; + networkmanager.enable = true; }; time.timeZone = "America/New_York"; @@ -141,17 +272,50 @@ with pkgs; { services = { btrfs.autoScrub.enable = true; - desktopManager.plasma6.enable = true; - displayManager.sddm.enable = true; flatpak.enable = true; - libinput.enable = true; - libinput.touchpad.naturalScrolling = true; + gnome.gnome-keyring.enable = true; + mullvad-vpn.enable = true; + ollama.enable = true; openssh.enable = true; + spice-vdagentd.enable = true; + + displayManager.autoLogin = { + enable = true; + user = "marshall"; + }; + + libinput = { + enable = true; + touchpad.naturalScrolling = true; + }; xserver = { enable = true; videoDrivers = ["nvidia"]; xkb.layout = "us"; + + displayManager.startx = { + enable = true; + }; + + xrandrHeads = [ + { + output = "DP-0"; + monitorConfig = '' + Option "PreferredMode" "2560x1440_165.08" + ''; + } + ]; + + windowManager.xmonad = { + enable = true; + enableContribAndExtras = true; + enableConfiguredRecompile = true; + flake = { + enable = true; + compiler = "ghc982"; + }; + }; }; pipewire = { @@ -165,29 +329,52 @@ with pkgs; { users.marshall = { isNormalUser = true; - extraGroups = ["wheel" "gamemode"]; + extraGroups = ["wheel" "gamemode" "libvirtd" "networkmanager"]; shell = fish; hashedPasswordFile = config.age.secrets.passwd.path; - packages = [ - firefox - neovim - telegram-desktop - ]; }; }; hardware = { + bluetooth.enable = true; + opengl = { enable = true; driSupport = true; driSupport32Bit = true; + extraPackages = [ + vaapiVdpau + nvidia-vaapi-driver + ]; }; + nvidia-container-toolkit.enable = true; + nvidia = { package = config.boot.kernelPackages.nvidiaPackages.latest; modesetting.enable = true; + powerManagement.enable = true; + + prime = { + sync.enable = true; + + intelBusId = "PCI:0:2:0"; + nvidiaBusId = "PCI:1:0:0"; + }; }; }; + xdg.portal = { + enable = true; + config.common.default = "*"; + xdgOpenUsePortal = true; + + extraPortals = [ + kdePackages.xdg-desktop-portal-kde + xdg-desktop-portal-gtk + xdg-desktop-portal-shana + ]; + }; + system.stateVersion = "24.05"; } diff --git a/systems/x86_64-linux/navis/hardware.nix b/systems/x86_64-linux/navis/hardware.nix index c1868e3..9f5fd39 100644 --- a/systems/x86_64-linux/navis/hardware.nix +++ b/systems/x86_64-linux/navis/hardware.nix @@ -22,30 +22,35 @@ 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 + boot.initrd.systemd.services.wipe-root = { + requires = ["dev-mapper-enc.device"]; + after = ["dev-mapper-enc.device"]; + wantedBy = ["initrd.target"]; + script = 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" - } + 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 + 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 - ''; + btrfs subvolume create /btrfs_tmp/root + umount /btrfs_tmp + ''; + }; boot.initrd.luks.devices."enc".device = "/dev/disk/by-uuid/9952fcd1-46eb-4c9c-ab7d-361d31fdb9a2";