diff --git a/.envrc b/.envrc index da46543..c4b17d7 100644 --- a/.envrc +++ b/.envrc @@ -1,3 +1 @@ -watch_file flake.in.nix -cp $(nix eval --raw .#nextFlake) flake.nix use_flake diff --git a/flake.in.nix b/flake.in.nix deleted file mode 100644 index fe952ed..0000000 --- a/flake.in.nix +++ /dev/null @@ -1,143 +0,0 @@ -{ - inputs = let - mkCustomUrl = url: {inherit url;}; - - mkInput = url: {url = "github:${url}";}; - - mkFollowingNixpkgs = url: { - url = "github:${url}"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - - mkFollowing = url: input: { - url = "github:${url}"; - inputs.${input}.follows = input; - }; - - mkWithSubmodules = url: { - inherit url; - submodules = true; - type = "git"; - }; - in { - agenix = mkInput "ryantm/agenix"; - catppuccin = mkInput "catppuccin/nix"; - chaotic = mkInput "chaotic-cx/nyx/nyxpkgs-unstable"; - hyprland = mkWithSubmodules "https://github.com/hyprwm/Hyprland"; - hyprland-plugins = mkFollowing "hyprwm/hyprland-plugins" "hyprland"; - impermanence = mkInput "nix-community/impermanence"; - nix-colors = mkInput "Misterio77/nix-colors"; - nixpkgs = mkInput "NixOS/nixpkgs/nixos-unstable"; - nix-super = mkCustomUrl "git+https://git.privatevoid.net/max/nix-super.git"; - nixvim = mkInput "pupbrained/nixvim"; - schizofox = mkInput "schizofox/schizofox"; - sops-nix = mkInput "Mic92/sops-nix"; - treefmt-nix = mkInput "numtide/treefmt-nix"; - - home-manager = mkFollowingNixpkgs "nix-community/home-manager"; - nix-index-database = mkFollowingNixpkgs "nix-community/nix-index-database"; - snowfall-flake = mkFollowingNixpkgs "snowfallorg/flake"; - snowfall-lib = mkFollowingNixpkgs "snowfallorg/lib/dev"; - }; - - outputs = {...} @ inputs: - with inputs; let - pkgs = import nixpkgs {inherit system;}; - system = "x86_64-linux"; - in - snowfall-lib.mkFlake { - inherit inputs; - src = ./.; - - formatter.${system} = treefmt-nix.lib.mkWrapper pkgs { - projectRootFile = "flake.nix"; - programs = { - alejandra.enable = true; - deadnix.enable = true; - }; - }; - - overlays = [ - snowfall-flake.overlays.default - - (_final: prev: { - nixSuper = nix-super.packages.${system}.default; - - ccacheWrapper = prev.ccacheWrapper.override { - extraConfig = '' - export CCACHE_COMPRESS=1 - export CCACHE_DIR="${config.programs.ccache.cacheDir}" - export CCACHE_UMASK=007 - if [ ! -d "$CCACHE_DIR" ]; then - echo "=====" - echo "Directory '$CCACHE_DIR' does not exist" - echo "Please create it with:" - echo " sudo mkdir -m0770 '$CCACHE_DIR'" - echo " sudo chown root:nixbld '$CCACHE_DIR'" - echo "=====" - exit 1 - fi - if [ ! -w "$CCACHE_DIR" ]; then - echo "=====" - echo "Directory '$CCACHE_DIR' is not accessible for user $(whoami)" - echo "Please verify its access permissions" - echo "=====" - exit 1 - fi - ''; - }; - - picom = prev.picom.overrideAttrs { - src = prev.fetchFromGitHub { - owner = "yshui"; - repo = "picom"; - rev = "94faacbd4ac917cca5abac3ac5c539f5fe1dc61d"; - hash = "sha256-KfMy8lV3FMS+AWDozlpPRkXX1eZCWsj39Y5T8q+c9Bs="; - fetchSubmodules = true; - }; - }; - }) - ]; - - channels-config = { - allowAliases = true; - allowUnfree = true; - allowUnsupportedSystem = true; - cudaSupport = true; - permittedInsecurePackages = ["freeimage-unstable-2021-11-01"]; - home-manager.useGlobalPkgs = true; - }; - - homes.modules = [ - catppuccin.homeManagerModules.catppuccin - chaotic.homeManagerModules.default - hyprland.homeManagerModules.default - nix-colors.homeManagerModules.default - nix-index-database.hmModules.nix-index - schizofox.homeManagerModules.default - ]; - - systems.modules.nixos = [ - agenix.nixosModules.default - catppuccin.nixosModules.catppuccin - chaotic.nixosModules.default - impermanence.nixosModules.impermanence - ]; - - devShells.${system}.default = with pkgs; - mkShellNoCC { - packages = [ - alejandra - git - nvfetcher - statix - (writeScriptBin "build" '' - nix fmt - nh os switch . -- --impure - nh home switch - '') - (writeScriptBin "up" "nix flake update") - ]; - }; - }; -} diff --git a/flake.lock b/flake.lock index e6b3156..7328620 100644 --- a/flake.lock +++ b/flake.lock @@ -1,23 +1,24 @@ { "nodes": { - "agenix": { + "asahi": { "inputs": { - "darwin": "darwin", - "home-manager": "home-manager", - "nixpkgs": "nixpkgs", - "systems": "systems" + "flake-compat": "flake-compat", + "nixpkgs": [ + "nixpkgs" + ], + "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1716561646, - "narHash": "sha256-UIGtLO89RxKt7RF2iEgPikSdU53r6v/6WYB0RW3k89I=", - "owner": "ryantm", - "repo": "agenix", - "rev": "c2fc0762bbe8feb06a2e59a364fa81b3a57671c9", + "lastModified": 1716699938, + "narHash": "sha256-AzTYm22tTDJy0tSqMDf95rmCxxoGTPClu0paGPeh5a0=", + "owner": "tpwrules", + "repo": "nixos-apple-silicon", + "rev": "842306255856d7f5677c113e699101eb253e2e3f", "type": "github" }, "original": { - "owner": "ryantm", - "repo": "agenix", + "owner": "tpwrules", + "repo": "nixos-apple-silicon", "type": "github" } }, @@ -92,16 +93,16 @@ "conduit": "conduit", "crane": "crane", "fenix": "fenix", - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_2", "flake-schemas": "flake-schemas", "flake-utils": "flake-utils", - "home-manager": "home-manager_2", + "home-manager": "home-manager", "jovian": "jovian", "jujutsu": "jujutsu", "niri": "niri", "nix-filter": "nix-filter", - "nixpkgs": "nixpkgs_2", - "systems": "systems_2", + "nixpkgs": "nixpkgs", + "systems": "systems", "yafas": "yafas" }, "locked": { @@ -122,7 +123,7 @@ "codeium": { "inputs": { "flake-utils": "flake-utils_3", - "nixpkgs": "nixpkgs_6" + "nixpkgs": "nixpkgs_5" }, "locked": { "lastModified": 1714765312, @@ -259,28 +260,6 @@ "type": "github" } }, - "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", @@ -326,6 +305,21 @@ } }, "flake-compat": { + "locked": { + "lastModified": 1688025799, + "narHash": "sha256-ktpB4dRtnksm9F5WawoIkEneh1nrEvuxb5lJFt1iOyw=", + "owner": "nix-community", + "repo": "flake-compat", + "rev": "8bf105319d44f6b9f0d764efa4fdef9f1cc9ba1c", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { "flake": false, "locked": { "lastModified": 1696426674, @@ -340,7 +334,7 @@ "url": "https://flakehub.com/f/edolstra/flake-compat/%2A.tar.gz" } }, - "flake-compat_2": { + "flake-compat_3": { "flake": false, "locked": { "lastModified": 1673956053, @@ -356,7 +350,7 @@ "type": "github" } }, - "flake-compat_3": { + "flake-compat_4": { "locked": { "lastModified": 1696426674, "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", @@ -370,22 +364,6 @@ "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": { @@ -414,12 +392,28 @@ }, "original": { "owner": "edolstra", - "ref": "v1.0.1", "repo": "flake-compat", "type": "github" } }, "flake-compat_7": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "ref": "v1.0.1", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_8": { "flake": false, "locked": { "lastModified": 1650374568, @@ -435,7 +429,7 @@ "type": "github" } }, - "flake-compat_8": { + "flake-compat_9": { "flake": false, "locked": { "lastModified": 1650374568, @@ -637,7 +631,7 @@ }, "flake-utils_3": { "inputs": { - "systems": "systems_5" + "systems": "systems_3" }, "locked": { "lastModified": 1701680307, @@ -655,7 +649,7 @@ }, "flake-utils_4": { "inputs": { - "systems": "systems_6" + "systems": "systems_4" }, "locked": { "lastModified": 1710146030, @@ -673,7 +667,7 @@ }, "flake-utils_5": { "inputs": { - "systems": "systems_7" + "systems": "systems_5" }, "locked": { "lastModified": 1701680307, @@ -706,7 +700,7 @@ }, "flake-utils_7": { "inputs": { - "systems": "systems_9" + "systems": "systems_7" }, "locked": { "lastModified": 1694529238, @@ -722,24 +716,6 @@ "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": [ @@ -791,27 +767,6 @@ } }, "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", @@ -832,7 +787,7 @@ "type": "github" } }, - "home-manager_3": { + "home-manager_2": { "inputs": { "nixpkgs": [ "nixpkgs" @@ -852,7 +807,7 @@ "type": "github" } }, - "home-manager_4": { + "home-manager_3": { "inputs": { "nixpkgs": [ "nixvim", @@ -874,7 +829,7 @@ "type": "github" } }, - "home-manager_5": { + "home-manager_4": { "inputs": { "nixpkgs": [ "schizofox", @@ -929,8 +884,8 @@ "hyprcursor": "hyprcursor", "hyprlang": "hyprlang", "hyprwayland-scanner": "hyprwayland-scanner", - "nixpkgs": "nixpkgs_3", - "systems": "systems_4", + "nixpkgs": "nixpkgs_2", + "systems": "systems_2", "xdph": "xdph" }, "locked": { @@ -1051,21 +1006,6 @@ "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", @@ -1098,7 +1038,7 @@ "chaotic", "nixpkgs" ], - "rust-overlay": "rust-overlay" + "rust-overlay": "rust-overlay_2" }, "locked": { "lastModified": 1716773713, @@ -1285,10 +1225,10 @@ }, "nix-super": { "inputs": { - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat_3", "flake-parts": "flake-parts", "libgit2": "libgit2", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_3", "nixpkgs-regression": "nixpkgs-regression", "pre-commit-hooks": "pre-commit-hooks" }, @@ -1334,18 +1274,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1703013332, - "narHash": "sha256-+tFNwMvlXLbJZXiMHqYq77z/RfmpfpiI3yjL6o/Zo9M=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "54aac082a4d9bb5bbc5c4e899603abfb76a3f6d6", - "type": "github" + "lastModified": 1716509168, + "narHash": "sha256-4zSIhSRRIoEBwjbPm3YiGtbd8HDWzFxJjw5DYSDy1n8=", + "rev": "bfb7a882678e518398ce9a31a881538679f6f092", + "revCount": 630835, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.630835%2Brev-bfb7a882678e518398ce9a31a881538679f6f092/018fafb0-ec0d-7254-8082-b09ecc86e5fc/source.tar.gz" }, "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" + "type": "tarball", + "url": "https://flakehub.com/f/NixOS/nixpkgs/0.1.%2A.tar.gz" } }, "nixpkgs-lib": { @@ -1413,55 +1351,7 @@ "type": "github" } }, - "nixpkgs-stable_2": { - "locked": { - "lastModified": 1716655032, - "narHash": "sha256-kQ25DAiCGigsNR/Quxm3v+JGXAEXZ8I7RAF4U94bGzE=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "59a450646ec8ee0397f5fa54a08573e8240eb91f", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "release-23.11", - "repo": "nixpkgs", - "type": "github" - } - }, "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": 1716651315, - "narHash": "sha256-iMgzIeedMqf30TXZ439zW3Yvng1Xm9QTGO+ZwG1IWSw=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "c5187508b11177ef4278edf19616f44f21cc8c69", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_12": { "locked": { "lastModified": 1708475490, "narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=", @@ -1478,20 +1368,6 @@ } }, "nixpkgs_2": { - "locked": { - "lastModified": 1716509168, - "narHash": "sha256-4zSIhSRRIoEBwjbPm3YiGtbd8HDWzFxJjw5DYSDy1n8=", - "rev": "bfb7a882678e518398ce9a31a881538679f6f092", - "revCount": 630835, - "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.630835%2Brev-bfb7a882678e518398ce9a31a881538679f6f092/018fafb0-ec0d-7254-8082-b09ecc86e5fc/source.tar.gz" - }, - "original": { - "type": "tarball", - "url": "https://flakehub.com/f/NixOS/nixpkgs/0.1.%2A.tar.gz" - } - }, - "nixpkgs_3": { "locked": { "lastModified": 1716330097, "narHash": "sha256-8BO3B7e3BiyIDsaKA0tY8O88rClYRTjvAp66y+VBUeU=", @@ -1507,7 +1383,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_3": { "locked": { "lastModified": 1709083642, "narHash": "sha256-7kkJQd4rZ+vFrzWu8sTRtta5D1kBG0LSRYAfhtmMlSo=", @@ -1523,7 +1399,7 @@ "type": "github" } }, - "nixpkgs_5": { + "nixpkgs_4": { "locked": { "lastModified": 1716509168, "narHash": "sha256-4zSIhSRRIoEBwjbPm3YiGtbd8HDWzFxJjw5DYSDy1n8=", @@ -1539,7 +1415,7 @@ "type": "github" } }, - "nixpkgs_6": { + "nixpkgs_5": { "locked": { "lastModified": 1702346276, "narHash": "sha256-eAQgwIWApFQ40ipeOjVSoK4TEHVd6nbSd9fApiHIw5A=", @@ -1555,7 +1431,7 @@ "type": "github" } }, - "nixpkgs_7": { + "nixpkgs_6": { "locked": { "lastModified": 1716626504, "narHash": "sha256-/+8auPmHkvTzPVZz8IJDFd4IdatQQ/me+QW8LXsOWFc=", @@ -1570,7 +1446,7 @@ "type": "github" } }, - "nixpkgs_8": { + "nixpkgs_7": { "locked": { "lastModified": 1716330097, "narHash": "sha256-8BO3B7e3BiyIDsaKA0tY8O88rClYRTjvAp66y+VBUeU=", @@ -1586,7 +1462,7 @@ "type": "github" } }, - "nixpkgs_9": { + "nixpkgs_8": { "locked": { "lastModified": 1708475490, "narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=", @@ -1602,11 +1478,27 @@ "type": "github" } }, + "nixpkgs_9": { + "locked": { + "lastModified": 1712791164, + "narHash": "sha256-3sbWO1mbpWsLepZGbWaMovSO7ndZeFqDSdX0hZ9nVyw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1042fd8b148a9105f3c0aca3a6177fd1d9360ba5", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixvim": { "inputs": { "codeium": "codeium", "flake-utils": "flake-utils_4", - "nixpkgs": "nixpkgs_7", + "nixpkgs": "nixpkgs_6", "nixvim": "nixvim_2", "treefmt-nix": "treefmt-nix_2" }, @@ -1627,12 +1519,12 @@ "nixvim_2": { "inputs": { "devshell": "devshell", - "flake-compat": "flake-compat_3", + "flake-compat": "flake-compat_4", "flake-parts": "flake-parts_2", "flake-root": "flake-root", - "home-manager": "home-manager_4", + "home-manager": "home-manager_3", "nix-darwin": "nix-darwin", - "nixpkgs": "nixpkgs_8", + "nixpkgs": "nixpkgs_7", "pre-commit-hooks": "pre-commit-hooks_2", "treefmt-nix": "treefmt-nix" }, @@ -1684,7 +1576,7 @@ }, "pre-commit-hooks_2": { "inputs": { - "flake-compat": "flake-compat_4", + "flake-compat": "flake-compat_5", "gitignore": "gitignore", "nixpkgs": [ "nixvim", @@ -1730,23 +1622,20 @@ }, "root": { "inputs": { - "agenix": "agenix", + "asahi": "asahi", "catppuccin": "catppuccin", "chaotic": "chaotic", - "flakegen": "flakegen", - "home-manager": "home-manager_3", + "home-manager": "home-manager_2", "hyprland": "hyprland", "hyprland-plugins": "hyprland-plugins", - "impermanence": "impermanence", "nix-colors": "nix-colors", "nix-index-database": "nix-index-database", "nix-super": "nix-super", - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_4", "nixvim": "nixvim", "schizofox": "schizofox", "snowfall-flake": "snowfall-flake", "snowfall-lib": "snowfall-lib_2", - "sops-nix": "sops-nix", "treefmt-nix": "treefmt-nix_3" } }, @@ -1768,6 +1657,22 @@ } }, "rust-overlay": { + "flake": false, + "locked": { + "lastModified": 1686795910, + "narHash": "sha256-jDa40qRZ0GRQtP9EMZdf+uCbvzuLnJglTUI2JoHfWDc=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "5c2b97c0a9bc5217fc3dfb1555aae0fb756d99f9", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "rust-overlay_2": { "inputs": { "flake-utils": [ "chaotic", @@ -1796,13 +1701,13 @@ }, "schizofox": { "inputs": { - "flake-compat": "flake-compat_5", + "flake-compat": "flake-compat_6", "flake-parts": "flake-parts_3", - "home-manager": "home-manager_5", + "home-manager": "home-manager_4", "nixpak": "nixpak", - "nixpkgs": "nixpkgs_10", + "nixpkgs": "nixpkgs_9", "searx-randomizer": "searx-randomizer", - "systems": "systems_8" + "systems": "systems_6" }, "locked": { "lastModified": 1714677453, @@ -1843,7 +1748,7 @@ }, "snowfall-flake": { "inputs": { - "flake-compat": "flake-compat_6", + "flake-compat": "flake-compat_7", "nixpkgs": [ "nixpkgs" ], @@ -1865,7 +1770,7 @@ }, "snowfall-lib": { "inputs": { - "flake-compat": "flake-compat_7", + "flake-compat": "flake-compat_8", "flake-utils-plus": "flake-utils-plus", "nixpkgs": [ "snowfall-flake", @@ -1889,7 +1794,7 @@ }, "snowfall-lib_2": { "inputs": { - "flake-compat": "flake-compat_8", + "flake-compat": "flake-compat_9", "flake-utils-plus": "flake-utils-plus_2", "nixpkgs": [ "nixpkgs" @@ -1910,37 +1815,18 @@ "type": "github" } }, - "sops-nix": { - "inputs": { - "nixpkgs": "nixpkgs_11", - "nixpkgs-stable": "nixpkgs-stable_2" - }, - "locked": { - "lastModified": 1716692524, - "narHash": "sha256-sALodaA7Zkp/JD6ehgwc0UCBrSBfB4cX66uFGTsqeFU=", - "owner": "Mic92", - "repo": "sops-nix", - "rev": "962797a8d7f15ed7033031731d0bb77244839960", - "type": "github" - }, - "original": { - "owner": "Mic92", - "repo": "sops-nix", - "type": "github" - } - }, "systems": { "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" } }, @@ -1976,16 +1862,16 @@ }, "systems_4": { "locked": { - "lastModified": 1689347949, - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "owner": "nix-systems", - "repo": "default-linux", - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "type": "github" }, "original": { "owner": "nix-systems", - "repo": "default-linux", + "repo": "default", "type": "github" } }, @@ -2005,36 +1891,6 @@ } }, "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": 1689347949, "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", @@ -2049,7 +1905,7 @@ "type": "github" } }, - "systems_9": { + "systems_7": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -2088,7 +1944,7 @@ }, "treefmt-nix_2": { "inputs": { - "nixpkgs": "nixpkgs_9" + "nixpkgs": "nixpkgs_8" }, "locked": { "lastModified": 1715940852, @@ -2106,7 +1962,7 @@ }, "treefmt-nix_3": { "inputs": { - "nixpkgs": "nixpkgs_12" + "nixpkgs": "nixpkgs_10" }, "locked": { "lastModified": 1715940852, diff --git a/flake.nix b/flake.nix index 0532243..5d97d8a 100644 --- a/flake.nix +++ b/flake.nix @@ -1,34 +1,40 @@ -# Do not modify! This file is generated. - { inputs = { - agenix.url = "github:ryantm/agenix"; catppuccin.url = "github:catppuccin/nix"; chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable"; - flakegen.url = "github:jorsn/flakegen"; + nix-colors.url = "github:Misterio77/nix-colors"; + nix-super.url = "git+https://git.privatevoid.net/max/nix-super.git"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + nixvim.url = "github:pupbrained/nixvim"; + schizofox.url = "github:schizofox/schizofox"; + treefmt-nix.url = "github:numtide/treefmt-nix"; + + asahi = { + url = "github:tpwrules/nixos-apple-silicon"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + home-manager = { inputs.nixpkgs.follows = "nixpkgs"; url = "github:nix-community/home-manager"; }; + hyprland = { submodules = true; type = "git"; url = "https://github.com/hyprwm/Hyprland"; }; + hyprland-plugins = { inputs.hyprland.follows = "hyprland"; url = "github:hyprwm/hyprland-plugins"; }; - impermanence.url = "github:nix-community/impermanence"; - nix-colors.url = "github:Misterio77/nix-colors"; + nix-index-database = { inputs.nixpkgs.follows = "nixpkgs"; url = "github:nix-community/nix-index-database"; }; - nix-super.url = "git+https://git.privatevoid.net/max/nix-super.git"; - nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - nixvim.url = "github:pupbrained/nixvim"; - schizofox.url = "github:schizofox/schizofox"; + snowfall-flake = { inputs.nixpkgs.follows = "nixpkgs"; url = "github:snowfallorg/flake"; @@ -37,8 +43,83 @@ 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 + + outputs = { + asahi, + catppuccin, + chaotic, + hyprland, + nix-colors, + nixpkgs, + nix-super, + schizofox, + nix-index-database, + treefmt-nix, + snowfall-lib, + snowfall-flake, + ... + } @ inputs: let + pkgs = import nixpkgs {inherit system;}; + system = "aarch64-linux"; + in + snowfall-lib.mkFlake { + inherit inputs; + + src = ./.; + + formatter.${system} = treefmt-nix.lib.mkWrapper pkgs { + projectRootFile = "flake.nix"; + programs = { + alejandra.enable = true; + deadnix.enable = true; + }; + }; + + overlays = [ + snowfall-flake.overlays.default + + (_final: _prev: { + nixSuper = nix-super.packages.${system}.default; + }) + ]; + + channels-config = { + allowAliases = true; + allowUnfree = true; + home-manager.useGlobalPkgs = true; + }; + + homes.modules = [ + catppuccin.homeManagerModules.catppuccin + chaotic.homeManagerModules.default + hyprland.homeManagerModules.default + nix-colors.homeManagerModules.default + nix-index-database.hmModules.nix-index + schizofox.homeManagerModules.default + ]; + + systems.modules.nixos = [ + asahi.nixosModules.apple-silicon-support + catppuccin.nixosModules.catppuccin + chaotic.nixosModules.default + ]; + + devShells.${system}.default = with pkgs; + mkShellNoCC { + packages = [ + alejandra + git + nh + nvfetcher + statix + (writeScriptBin "build" '' + nix fmt + nh os switch . -- --impure + nh home switch + '') + (writeScriptBin "up" "nix flake update") + ]; + }; + }; +} diff --git a/homes/x86_64-linux/marshall@navis/default.nix b/homes/aarch64-linux/marshall@canis-nixos/default.nix similarity index 91% rename from homes/x86_64-linux/marshall@navis/default.nix rename to homes/aarch64-linux/marshall@canis-nixos/default.nix index 03fe13c..49521fd 100644 --- a/homes/x86_64-linux/marshall@navis/default.nix +++ b/homes/aarch64-linux/marshall@canis-nixos/default.nix @@ -9,30 +9,26 @@ home = { packages = with pkgs; [ + distrobox duf eternal-terminal + firefox grc iamb - jamesdsp - jetbrains-toolbox killall libnotify lm_sensors loupe mpv + ollama playerctl prismlauncher telegram-desktop vesktop youki - jetbrains.clion ] ++ (with inputs; [ nixvim.packages.${pkgs.system}.default - ]) - ++ (with inputs.chaotic.packages.${pkgs.system}; [ - distrobox_git - firefox_nightly ]); pointerCursor = { diff --git a/modules/home/hyprland/default.nix b/modules/home/hyprland/default.nix index 53b8f49..842c2d0 100644 --- a/modules/home/hyprland/default.nix +++ b/modules/home/hyprland/default.nix @@ -48,17 +48,15 @@ in layer = "top"; position = "top"; - modules-center = ["hyprland/workspaces"]; - modules-left = [ "custom/startmenu" + "hyprland/workspaces" "hyprland/window" "pulseaudio" - "cpu" - "memory" ]; modules-right = [ + "battery" "network" "custom/notification" "tray" @@ -107,6 +105,11 @@ in tooltip = true; }; + "battery" = { + format = " {}%"; + tooltip = true; + }; + "network" = { format-icons = [ "󰤯" @@ -275,7 +278,7 @@ in padding: 0px 30px 0px 15px; } - #network, #custom-notification, #tray { + #battery, #network, #custom-notification, #tray { background: #${palette.base01}; border-radius: 10px 24px 10px 24px; color: #${palette.base05}; @@ -300,15 +303,11 @@ in }; }; - services = { - udiskie.enable = true; - - swaync = { - enable = true; - style = builtins.fetchurl { - url = "https://github.com/catppuccin/swaync/releases/download/v0.2.3/mocha.css"; - sha256 = "1xr1wkg4zb467b35xhsfqiwhimfnn88i3ml5rf173rkm7fyby9qy"; - }; + services.swaync = { + enable = true; + style = builtins.fetchurl { + url = "https://github.com/catppuccin/swaync/releases/download/v0.2.3/mocha.css"; + sha256 = "1xr1wkg4zb467b35xhsfqiwhimfnn88i3ml5rf173rkm7fyby9qy"; }; }; @@ -321,7 +320,7 @@ in modC = "SUPER CTRL"; modS = "SUPER SHIFT"; - browser = "firefox-nightly"; + browser = "firefox"; colorPicker = "notify-send -i gtk-color-picker $(${hyprpicker}/bin/hyprpicker -a) 'Copied to clipboard.'"; fileManager = "nautilus"; launcher = "rofi -show drun"; @@ -343,6 +342,7 @@ in dwindle.preserve_split = true; gestures.workspace_swipe = true; input.touchpad.natural_scroll = true; + xwayland.force_zero_scaling = true; layerrule = [ "dimaround, rofi" @@ -375,8 +375,7 @@ in exec-once = [ "waybar" - "${mpvpaper}/bin/mpvpaper -vp -o 'no-audio loop' DP-1 ${builtins.toString ./wall.mp4}" - "mullvad connect" + "${mpvpaper}/bin/mpvpaper -vp -o 'no-audio loop panscan=1.0' eDP-1 ${builtins.toString ./wall.mp4}" ]; misc = { @@ -385,20 +384,7 @@ in }; monitor = [ - "eDP-1, disable" - "DP-1, 2560x1440@165, auto, auto" - ]; - - env = [ - # Nvidia stuff - "GBM_BACKEND, nvidia-drm" - "__GLX_VENDOR_LIBRARY_NAME, nvidia" - "LIBVA_DRIVER_NAME, nvidia" - "WLR_DRM_DEVICES, $HOME/.config/hypr/card" - - # Cursors - "HYPRCURSOR_SIZE, 24" - "XCURSOR_SIZE, 24" + "eDP-1, 2560x1664@60, auto, 1.6" ]; bindm = [ diff --git a/modules/home/shell/git.nix b/modules/home/shell/git.nix index 00e695f..94b9579 100644 --- a/modules/home/shell/git.nix +++ b/modules/home/shell/git.nix @@ -17,7 +17,7 @@ with pkgs; { signing = { signByDefault = true; - key = "0FF5B8826803F895"; + key = "EF82E8CA83FF158C"; }; }; diff --git a/modules/home/shell/wezterm.nix b/modules/home/shell/wezterm.nix index fe0d047..f45e9ca 100644 --- a/modules/home/shell/wezterm.nix +++ b/modules/home/shell/wezterm.nix @@ -95,7 +95,7 @@ enable_kitty_graphics = true, enable_scroll_bar = false, enable_wayland = false, - font_size = 12, + font_size = 18, font = wezterm.font('Maple Mono NF'), keys = keybinds, front_end = 'OpenGL', diff --git a/systems/x86_64-linux/navis/default.nix b/systems/aarch64-linux/canis-nixos/default.nix similarity index 68% rename from systems/x86_64-linux/navis/default.nix rename to systems/aarch64-linux/canis-nixos/default.nix index e8f3c33..ad2a1f8 100644 --- a/systems/x86_64-linux/navis/default.nix +++ b/systems/aarch64-linux/canis-nixos/default.nix @@ -46,111 +46,43 @@ with lib // pkgs // inputs; { DefaultEnvironment="PATH=${path}" ''; - 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 = { - spiceUSBRedirection.enable = true; - - libvirtd = { - enable = true; - qemu = { - package = qemu_kvm; - swtpm.enable = true; - ovmf.enable = true; - ovmf.packages = [OVMFFull.fd]; - }; - }; - - podman = { + virtualisation.podman = { enable = true; dockerCompat = true; dockerSocket.enable = true; }; - }; environment = { sessionVariables = { - BROWSER = "firefox-nightly"; + BROWSER = "firefox"; EDITOR = "nvim"; TERMINAL = "wezterm"; DIRENV_WARN_TIMEOUT = "100s"; + NIXOS_OZONE_WL = "1"; }; systemPackages = [ - agenix.packages.${system}.default gnome.nautilus internal.lightly-boehs-qt6 snowfallorg.flake sound-theme-freedesktop - winetricks - wineWowPackages.staging xclip yt-dlp ]; - - persistence."/persist" = { - hideMounts = true; - directories = [ - "/etc/NetworkManager" - "/etc/secrets" - "/etc/ssh" - "/etc/mullvad-vpn" - "/root/.ssh" - "/var/lib/bluetooth" - "/var/lib/nixos" - "/var/lib/systemd/coredump" - ]; - files = ["/etc/machine-id"]; - }; }; boot = { - blacklistedKernelModules = ["nouveau"]; - kernelPackages = linuxPackages_cachyos; supportedFilesystems = ["btrfs" "ntfs"]; - initrd.systemd = { - enable = true; - emergencyAccess = true; # No password needed because 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" - ]; + extraModprobeConfig = "options apple_dcp show_notch=1"; loader = { - efi.canTouchEfiVariables = true; + efi.canTouchEfiVariables = false; systemd-boot = { enable = true; @@ -205,8 +137,6 @@ with lib // pkgs // inputs; { min-free = "${toString (5 * 1024 * 1024 * 1024)}"; max-free = "${toString (10 * 1024 * 1024 * 1024)}"; - extra-sandbox-paths = [config.programs.ccache.cacheDir]; - extra-experimental-features = [ "flakes" # flakes "nix-command" # experimental nix commands @@ -238,13 +168,11 @@ with lib // pkgs // inputs; { }; programs = { - ccache.enable = true; dconf.enable = true; fish.enable = true; gamemode.enable = true; - steam.enable = true; + steam.enable = false; gnupg.agent.enable = true; - virt-manager.enable = true; hyprland = { enable = true; @@ -253,19 +181,18 @@ with lib // pkgs // inputs; { nh = { enable = true; - clean.enable = true; - clean.extraArgs = "--keep-since 4d --keep 3"; flake = "/home/marshall/nix-config"; }; }; networking = { useDHCP = mkDefault true; - hostName = "navis"; firewall.enable = false; nameservers = ["1.1.1.1" "1.0.0.1"]; - networkmanager.dns = "none"; - networkmanager.enable = true; + wireless.iwd = { + enable = true; + settings.General.EnableNetworkConfiguration = true; + }; }; time.timeZone = "America/New_York"; @@ -275,11 +202,7 @@ with lib // pkgs // inputs; { flatpak.enable = true; getty.autologinUser = "marshall"; gnome.gnome-keyring.enable = true; - mullvad-vpn.enable = true; - ollama.enable = true; openssh.enable = true; - spice-vdagentd.enable = true; - udisks2.enable = true; greetd = { enable = true; @@ -300,7 +223,6 @@ with lib // pkgs // inputs; { xserver = { enable = true; - videoDrivers = ["nvidia"]; }; pipewire = { @@ -312,43 +234,25 @@ with lib // pkgs // inputs; { }; users = { - mutableUsers = false; - users.marshall = { isNormalUser = true; extraGroups = ["wheel" "gamemode" "libvirtd" "networkmanager"]; shell = fish; - hashedPasswordFile = config.age.secrets.passwd.path; }; }; hardware = { + asahi = { + peripheralFirmwareDirectory = ./firmware; + useExperimentalGPUDriver = true; + }; + bluetooth.enable = true; i2c.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.beta; - modesetting.enable = true; - powerManagement.enable = true; - - prime = { - sync.enable = true; - - intelBusId = "PCI:0:2:0"; - nvidiaBusId = "PCI:1:0:0"; - }; }; }; diff --git a/systems/aarch64-linux/canis-nixos/firmware/all_firmware.tar.gz b/systems/aarch64-linux/canis-nixos/firmware/all_firmware.tar.gz new file mode 100755 index 0000000..0048f9d Binary files /dev/null and b/systems/aarch64-linux/canis-nixos/firmware/all_firmware.tar.gz differ diff --git a/systems/aarch64-linux/canis-nixos/firmware/kernelcache.release.mac14g b/systems/aarch64-linux/canis-nixos/firmware/kernelcache.release.mac14g new file mode 100755 index 0000000..72c731f Binary files /dev/null and b/systems/aarch64-linux/canis-nixos/firmware/kernelcache.release.mac14g differ diff --git a/systems/aarch64-linux/canis-nixos/hardware.nix b/systems/aarch64-linux/canis-nixos/hardware.nix new file mode 100644 index 0000000..3560833 --- /dev/null +++ b/systems/aarch64-linux/canis-nixos/hardware.nix @@ -0,0 +1,54 @@ +# 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. +{ + lib, + modulesPath, + ... +}: { + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + powerManagement.cpuFreqGovernor = "conservative"; + + boot.initrd.availableKernelModules = ["usb_storage"]; + boot.initrd.kernelModules = []; + boot.kernelModules = []; + boot.extraModulePackages = []; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/bc2d65bb-2316-404d-aff4-cba0cca8f6b5"; + fsType = "btrfs"; + options = ["subvol=root"]; + }; + + fileSystems."/home" = { + device = "/dev/disk/by-uuid/bc2d65bb-2316-404d-aff4-cba0cca8f6b5"; + fsType = "btrfs"; + options = ["subvol=home"]; + }; + + fileSystems."/nix" = { + device = "/dev/disk/by-uuid/bc2d65bb-2316-404d-aff4-cba0cca8f6b5"; + fsType = "btrfs"; + options = ["subvol=nix"]; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/23FC-1D19"; + fsType = "vfat"; + options = ["fmask=0022" "dmask=0022"]; + }; + + swapDevices = []; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.wlan0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux"; +} diff --git a/systems/x86_64-linux/navis/hardware.nix b/systems/x86_64-linux/navis/hardware.nix deleted file mode 100644 index 4d4de7f..0000000 --- a/systems/x86_64-linux/navis/hardware.nix +++ /dev/null @@ -1,96 +0,0 @@ -# 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 = []; - boot.tmp.useTmpfs = true; - - fileSystems."/" = { - device = "/dev/disk/by-uuid/d375c3a3-63a3-47f8-8b77-58fabbb8f67b"; - fsType = "btrfs"; - options = ["subvol=root"]; - }; - - 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" - } - - 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; -}