Compare commits

...

2 commits
main ... asahi

Author SHA1 Message Date
Mars a286b0abb2
stuff 2024-06-13 02:49:37 -04:00
Mars 320faef2a6
asahi 2024-06-13 02:30:20 -04:00
13 changed files with 377 additions and 757 deletions

2
.envrc
View file

@ -1,3 +1 @@
watch_file flake.in.nix
cp $(nix eval --raw .#nextFlake) flake.nix
use_flake use_flake

View file

@ -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")
];
};
};
}

View file

@ -1,23 +1,24 @@
{ {
"nodes": { "nodes": {
"agenix": { "asahi": {
"inputs": { "inputs": {
"darwin": "darwin", "flake-compat": "flake-compat",
"home-manager": "home-manager", "nixpkgs": [
"nixpkgs": "nixpkgs", "nixpkgs"
"systems": "systems" ],
"rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1716561646, "lastModified": 1716699938,
"narHash": "sha256-UIGtLO89RxKt7RF2iEgPikSdU53r6v/6WYB0RW3k89I=", "narHash": "sha256-AzTYm22tTDJy0tSqMDf95rmCxxoGTPClu0paGPeh5a0=",
"owner": "ryantm", "owner": "tpwrules",
"repo": "agenix", "repo": "nixos-apple-silicon",
"rev": "c2fc0762bbe8feb06a2e59a364fa81b3a57671c9", "rev": "842306255856d7f5677c113e699101eb253e2e3f",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "ryantm", "owner": "tpwrules",
"repo": "agenix", "repo": "nixos-apple-silicon",
"type": "github" "type": "github"
} }
}, },
@ -92,16 +93,16 @@
"conduit": "conduit", "conduit": "conduit",
"crane": "crane", "crane": "crane",
"fenix": "fenix", "fenix": "fenix",
"flake-compat": "flake-compat", "flake-compat": "flake-compat_2",
"flake-schemas": "flake-schemas", "flake-schemas": "flake-schemas",
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"home-manager": "home-manager_2", "home-manager": "home-manager",
"jovian": "jovian", "jovian": "jovian",
"jujutsu": "jujutsu", "jujutsu": "jujutsu",
"niri": "niri", "niri": "niri",
"nix-filter": "nix-filter", "nix-filter": "nix-filter",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs",
"systems": "systems_2", "systems": "systems",
"yafas": "yafas" "yafas": "yafas"
}, },
"locked": { "locked": {
@ -122,7 +123,7 @@
"codeium": { "codeium": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_3", "flake-utils": "flake-utils_3",
"nixpkgs": "nixpkgs_6" "nixpkgs": "nixpkgs_5"
}, },
"locked": { "locked": {
"lastModified": 1714765312, "lastModified": 1714765312,
@ -259,28 +260,6 @@
"type": "github" "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": { "devshell": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_5", "flake-utils": "flake-utils_5",
@ -291,11 +270,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1713532798, "lastModified": 1717408969,
"narHash": "sha256-wtBhsdMJA3Wa32Wtm1eeo84GejtI43pMrFrmwLXrsEc=", "narHash": "sha256-Q0OEFqe35fZbbRPPRdrjTUUChKVhhWXz3T9ZSKmaoVY=",
"owner": "numtide", "owner": "numtide",
"repo": "devshell", "repo": "devshell",
"rev": "12e914740a25ea1891ec619bb53cf5e6ca922e40", "rev": "1ebbe68d57457c8cae98145410b164b5477761f4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -326,6 +305,21 @@
} }
}, },
"flake-compat": { "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, "flake": false,
"locked": { "locked": {
"lastModified": 1696426674, "lastModified": 1696426674,
@ -340,7 +334,7 @@
"url": "https://flakehub.com/f/edolstra/flake-compat/%2A.tar.gz" "url": "https://flakehub.com/f/edolstra/flake-compat/%2A.tar.gz"
} }
}, },
"flake-compat_2": { "flake-compat_3": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1673956053, "lastModified": 1673956053,
@ -356,7 +350,7 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat_3": { "flake-compat_4": {
"locked": { "locked": {
"lastModified": 1696426674, "lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
@ -370,22 +364,6 @@
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" "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-compat_5": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -414,12 +392,28 @@
}, },
"original": { "original": {
"owner": "edolstra", "owner": "edolstra",
"ref": "v1.0.1",
"repo": "flake-compat", "repo": "flake-compat",
"type": "github" "type": "github"
} }
}, },
"flake-compat_7": { "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, "flake": false,
"locked": { "locked": {
"lastModified": 1650374568, "lastModified": 1650374568,
@ -435,7 +429,7 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat_8": { "flake-compat_9": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1650374568, "lastModified": 1650374568,
@ -481,11 +475,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1715865404, "lastModified": 1717285511,
"narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=", "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9", "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -533,21 +527,6 @@
"type": "github" "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": { "flake-schemas": {
"locked": { "locked": {
"lastModified": 1693491534, "lastModified": 1693491534,
@ -637,7 +616,7 @@
}, },
"flake-utils_3": { "flake-utils_3": {
"inputs": { "inputs": {
"systems": "systems_5" "systems": "systems_3"
}, },
"locked": { "locked": {
"lastModified": 1701680307, "lastModified": 1701680307,
@ -655,7 +634,7 @@
}, },
"flake-utils_4": { "flake-utils_4": {
"inputs": { "inputs": {
"systems": "systems_6" "systems": "systems_4"
}, },
"locked": { "locked": {
"lastModified": 1710146030, "lastModified": 1710146030,
@ -673,7 +652,7 @@
}, },
"flake-utils_5": { "flake-utils_5": {
"inputs": { "inputs": {
"systems": "systems_7" "systems": "systems_5"
}, },
"locked": { "locked": {
"lastModified": 1701680307, "lastModified": 1701680307,
@ -706,7 +685,7 @@
}, },
"flake-utils_7": { "flake-utils_7": {
"inputs": { "inputs": {
"systems": "systems_9" "systems": "systems_7"
}, },
"locked": { "locked": {
"lastModified": 1694529238, "lastModified": 1694529238,
@ -722,21 +701,32 @@
"type": "github" "type": "github"
} }
}, },
"flakegen": { "git-hooks": {
"inputs": { "inputs": {
"systems": "systems_3" "flake-compat": "flake-compat_5",
"gitignore": "gitignore",
"nixpkgs": [
"nixvim",
"nixvim",
"nixpkgs"
],
"nixpkgs-stable": [
"nixvim",
"nixvim",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1707120544, "lastModified": 1717664902,
"narHash": "sha256-pXwH9NLXjhjnaz1n7w5m36gVUZ1GVkvtltsLnvVPFJY=", "narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=",
"owner": "jorsn", "owner": "cachix",
"repo": "flakegen", "repo": "git-hooks.nix",
"rev": "8b11749b0724700273462a674dd16e5549fe2790", "rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "jorsn", "owner": "cachix",
"repo": "flakegen", "repo": "git-hooks.nix",
"type": "github" "type": "github"
} }
}, },
@ -745,7 +735,7 @@
"nixpkgs": [ "nixpkgs": [
"nixvim", "nixvim",
"nixvim", "nixvim",
"pre-commit-hooks", "git-hooks",
"nixpkgs" "nixpkgs"
] ]
}, },
@ -791,27 +781,6 @@
} }
}, },
"home-manager": { "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": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"chaotic", "chaotic",
@ -832,7 +801,7 @@
"type": "github" "type": "github"
} }
}, },
"home-manager_3": { "home-manager_2": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
@ -852,7 +821,7 @@
"type": "github" "type": "github"
} }
}, },
"home-manager_4": { "home-manager_3": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixvim", "nixvim",
@ -861,11 +830,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1716448020, "lastModified": 1717525419,
"narHash": "sha256-u1ddoBOILtLVX4NYzqSZ9Qaqusql1M4reLd1fs554hY=", "narHash": "sha256-5z2422pzWnPXHgq2ms8lcCfttM0dz+hg+x1pCcNkAws=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "25dedb0d52c20448f6a63cc346df1adbd6ef417e", "rev": "a7117efb3725e6197dd95424136f79147aa35e5b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -874,7 +843,7 @@
"type": "github" "type": "github"
} }
}, },
"home-manager_5": { "home-manager_4": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"schizofox", "schizofox",
@ -929,8 +898,8 @@
"hyprcursor": "hyprcursor", "hyprcursor": "hyprcursor",
"hyprlang": "hyprlang", "hyprlang": "hyprlang",
"hyprwayland-scanner": "hyprwayland-scanner", "hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_2",
"systems": "systems_4", "systems": "systems_2",
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
@ -1051,21 +1020,6 @@
"type": "github" "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": { "jovian": {
"inputs": { "inputs": {
"nix-github-actions": "nix-github-actions", "nix-github-actions": "nix-github-actions",
@ -1098,7 +1052,7 @@
"chaotic", "chaotic",
"nixpkgs" "nixpkgs"
], ],
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay_2"
}, },
"locked": { "locked": {
"lastModified": 1716773713, "lastModified": 1716773713,
@ -1212,11 +1166,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1716329735, "lastModified": 1716993688,
"narHash": "sha256-ap51w+VqG21vuzyQ04WrhI2YbWHd3UGz0e7dc/QQmoA=", "narHash": "sha256-vo5k2wQekfeoq/2aleQkBN41dQiQHNTniZeVONWiWLs=",
"owner": "lnl7", "owner": "lnl7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "eac4f25028c1975a939c8f8fba95c12f8a25e01c", "rev": "c0d5b8c54d6828516c97f6be9f2d00c63a363df4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1285,10 +1239,10 @@
}, },
"nix-super": { "nix-super": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_3",
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"libgit2": "libgit2", "libgit2": "libgit2",
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_3",
"nixpkgs-regression": "nixpkgs-regression", "nixpkgs-regression": "nixpkgs-regression",
"pre-commit-hooks": "pre-commit-hooks" "pre-commit-hooks": "pre-commit-hooks"
}, },
@ -1334,18 +1288,16 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1703013332, "lastModified": 1716509168,
"narHash": "sha256-+tFNwMvlXLbJZXiMHqYq77z/RfmpfpiI3yjL6o/Zo9M=", "narHash": "sha256-4zSIhSRRIoEBwjbPm3YiGtbd8HDWzFxJjw5DYSDy1n8=",
"owner": "NixOS", "rev": "bfb7a882678e518398ce9a31a881538679f6f092",
"repo": "nixpkgs", "revCount": 630835,
"rev": "54aac082a4d9bb5bbc5c4e899603abfb76a3f6d6", "type": "tarball",
"type": "github" "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.630835%2Brev-bfb7a882678e518398ce9a31a881538679f6f092/018fafb0-ec0d-7254-8082-b09ecc86e5fc/source.tar.gz"
}, },
"original": { "original": {
"owner": "NixOS", "type": "tarball",
"ref": "nixos-unstable", "url": "https://flakehub.com/f/NixOS/nixpkgs/0.1.%2A.tar.gz"
"repo": "nixpkgs",
"type": "github"
} }
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
@ -1413,55 +1365,7 @@
"type": "github" "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": { "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": { "locked": {
"lastModified": 1708475490, "lastModified": 1708475490,
"narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=", "narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=",
@ -1478,20 +1382,6 @@
} }
}, },
"nixpkgs_2": { "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": { "locked": {
"lastModified": 1716330097, "lastModified": 1716330097,
"narHash": "sha256-8BO3B7e3BiyIDsaKA0tY8O88rClYRTjvAp66y+VBUeU=", "narHash": "sha256-8BO3B7e3BiyIDsaKA0tY8O88rClYRTjvAp66y+VBUeU=",
@ -1507,7 +1397,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_4": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1709083642, "lastModified": 1709083642,
"narHash": "sha256-7kkJQd4rZ+vFrzWu8sTRtta5D1kBG0LSRYAfhtmMlSo=", "narHash": "sha256-7kkJQd4rZ+vFrzWu8sTRtta5D1kBG0LSRYAfhtmMlSo=",
@ -1523,7 +1413,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_5": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1716509168, "lastModified": 1716509168,
"narHash": "sha256-4zSIhSRRIoEBwjbPm3YiGtbd8HDWzFxJjw5DYSDy1n8=", "narHash": "sha256-4zSIhSRRIoEBwjbPm3YiGtbd8HDWzFxJjw5DYSDy1n8=",
@ -1539,7 +1429,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_6": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1702346276, "lastModified": 1702346276,
"narHash": "sha256-eAQgwIWApFQ40ipeOjVSoK4TEHVd6nbSd9fApiHIw5A=", "narHash": "sha256-eAQgwIWApFQ40ipeOjVSoK4TEHVd6nbSd9fApiHIw5A=",
@ -1555,13 +1445,13 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_7": { "nixpkgs_6": {
"locked": { "locked": {
"lastModified": 1716626504, "lastModified": 1717956656,
"narHash": "sha256-/+8auPmHkvTzPVZz8IJDFd4IdatQQ/me+QW8LXsOWFc=", "narHash": "sha256-hUURs/cju8hV5B6Wzs+/u1RFZo7HR6IdnxikLbyhhRA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "d091b7f681e8e5c21947e5de45b7f397a57011ae", "rev": "e27c2cf0b43e406089d284ceb85a9e2fd88e8e8c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1570,13 +1460,13 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_8": { "nixpkgs_7": {
"locked": { "locked": {
"lastModified": 1716330097, "lastModified": 1717786204,
"narHash": "sha256-8BO3B7e3BiyIDsaKA0tY8O88rClYRTjvAp66y+VBUeU=", "narHash": "sha256-4q0s6m0GUcN7q+Y2DqD27iLvbcd1G50T2lv08kKxkSI=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5710852ba686cc1fd0d3b8e22b3117d43ba374c2", "rev": "051f920625ab5aabe37c920346e3e69d7d34400e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1586,7 +1476,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_9": { "nixpkgs_8": {
"locked": { "locked": {
"lastModified": 1708475490, "lastModified": 1708475490,
"narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=", "narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=",
@ -1602,20 +1492,36 @@
"type": "github" "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": { "nixvim": {
"inputs": { "inputs": {
"codeium": "codeium", "codeium": "codeium",
"flake-utils": "flake-utils_4", "flake-utils": "flake-utils_4",
"nixpkgs": "nixpkgs_7", "nixpkgs": "nixpkgs_6",
"nixvim": "nixvim_2", "nixvim": "nixvim_2",
"treefmt-nix": "treefmt-nix_2" "treefmt-nix": "treefmt-nix_2"
}, },
"locked": { "locked": {
"lastModified": 1716650528, "lastModified": 1718260583,
"narHash": "sha256-+sfNAVyDkA94fGJkofcy4uBbrr3lmFqhY/QBX5ggki8=", "narHash": "sha256-EBndm9jZRjaQr+CM5XUX6AmlHZod5AON+jp4NZQXdss=",
"owner": "pupbrained", "owner": "pupbrained",
"repo": "nixvim", "repo": "nixvim",
"rev": "47b77b1d918e746a2cd02fa98c70ea13be8f170b", "rev": "6499dafe97885f38eeeae3a9a26e3027bdcb0fdd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1627,21 +1533,20 @@
"nixvim_2": { "nixvim_2": {
"inputs": { "inputs": {
"devshell": "devshell", "devshell": "devshell",
"flake-compat": "flake-compat_3", "flake-compat": "flake-compat_4",
"flake-parts": "flake-parts_2", "flake-parts": "flake-parts_2",
"flake-root": "flake-root", "git-hooks": "git-hooks",
"home-manager": "home-manager_4", "home-manager": "home-manager_3",
"nix-darwin": "nix-darwin", "nix-darwin": "nix-darwin",
"nixpkgs": "nixpkgs_8", "nixpkgs": "nixpkgs_7",
"pre-commit-hooks": "pre-commit-hooks_2",
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1716566815, "lastModified": 1717922156,
"narHash": "sha256-WO3MF4W1SrSD0lanU1n7dfuHizeSLfDHJNEir9exlcM=", "narHash": "sha256-C/TgTnKY4iWXnBmKocV9KeV+OtZGCh+1Pcw26Elx7JM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "9d858de2e9ab136d1c53d92af62fed8fccf492ab", "rev": "8a462dc9570bce1de5a7dd1beabd83f95958315b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1682,35 +1587,6 @@
"type": "github" "type": "github"
} }
}, },
"pre-commit-hooks_2": {
"inputs": {
"flake-compat": "flake-compat_4",
"gitignore": "gitignore",
"nixpkgs": [
"nixvim",
"nixvim",
"nixpkgs"
],
"nixpkgs-stable": [
"nixvim",
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1716213921,
"narHash": "sha256-xrsYFST8ij4QWaV6HEokCUNIZLjjLP1bYC60K8XiBVA=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "0e8fcc54b842ad8428c9e705cb5994eaf05c26a0",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"type": "github"
}
},
"rocksdb": { "rocksdb": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -1730,23 +1606,20 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"agenix": "agenix", "asahi": "asahi",
"catppuccin": "catppuccin", "catppuccin": "catppuccin",
"chaotic": "chaotic", "chaotic": "chaotic",
"flakegen": "flakegen", "home-manager": "home-manager_2",
"home-manager": "home-manager_3",
"hyprland": "hyprland", "hyprland": "hyprland",
"hyprland-plugins": "hyprland-plugins", "hyprland-plugins": "hyprland-plugins",
"impermanence": "impermanence",
"nix-colors": "nix-colors", "nix-colors": "nix-colors",
"nix-index-database": "nix-index-database", "nix-index-database": "nix-index-database",
"nix-super": "nix-super", "nix-super": "nix-super",
"nixpkgs": "nixpkgs_5", "nixpkgs": "nixpkgs_4",
"nixvim": "nixvim", "nixvim": "nixvim",
"schizofox": "schizofox", "schizofox": "schizofox",
"snowfall-flake": "snowfall-flake", "snowfall-flake": "snowfall-flake",
"snowfall-lib": "snowfall-lib_2", "snowfall-lib": "snowfall-lib_2",
"sops-nix": "sops-nix",
"treefmt-nix": "treefmt-nix_3" "treefmt-nix": "treefmt-nix_3"
} }
}, },
@ -1768,6 +1641,22 @@
} }
}, },
"rust-overlay": { "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": { "inputs": {
"flake-utils": [ "flake-utils": [
"chaotic", "chaotic",
@ -1796,13 +1685,13 @@
}, },
"schizofox": { "schizofox": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_5", "flake-compat": "flake-compat_6",
"flake-parts": "flake-parts_3", "flake-parts": "flake-parts_3",
"home-manager": "home-manager_5", "home-manager": "home-manager_4",
"nixpak": "nixpak", "nixpak": "nixpak",
"nixpkgs": "nixpkgs_10", "nixpkgs": "nixpkgs_9",
"searx-randomizer": "searx-randomizer", "searx-randomizer": "searx-randomizer",
"systems": "systems_8" "systems": "systems_6"
}, },
"locked": { "locked": {
"lastModified": 1714677453, "lastModified": 1714677453,
@ -1843,7 +1732,7 @@
}, },
"snowfall-flake": { "snowfall-flake": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_6", "flake-compat": "flake-compat_7",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
@ -1865,7 +1754,7 @@
}, },
"snowfall-lib": { "snowfall-lib": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_7", "flake-compat": "flake-compat_8",
"flake-utils-plus": "flake-utils-plus", "flake-utils-plus": "flake-utils-plus",
"nixpkgs": [ "nixpkgs": [
"snowfall-flake", "snowfall-flake",
@ -1889,7 +1778,7 @@
}, },
"snowfall-lib_2": { "snowfall-lib_2": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_8", "flake-compat": "flake-compat_9",
"flake-utils-plus": "flake-utils-plus_2", "flake-utils-plus": "flake-utils-plus_2",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
@ -1910,37 +1799,18 @@
"type": "github" "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": { "systems": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1689347949,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems", "owner": "nix-systems",
"repo": "default", "repo": "default-linux",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-systems", "owner": "nix-systems",
"repo": "default", "repo": "default-linux",
"type": "github" "type": "github"
} }
}, },
@ -1976,16 +1846,16 @@
}, },
"systems_4": { "systems_4": {
"locked": { "locked": {
"lastModified": 1689347949, "lastModified": 1681028828,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems", "owner": "nix-systems",
"repo": "default-linux", "repo": "default",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-systems", "owner": "nix-systems",
"repo": "default-linux", "repo": "default",
"type": "github" "type": "github"
} }
}, },
@ -2005,36 +1875,6 @@
} }
}, },
"systems_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": { "locked": {
"lastModified": 1689347949, "lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
@ -2049,7 +1889,7 @@
"type": "github" "type": "github"
} }
}, },
"systems_9": { "systems_7": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@ -2073,11 +1913,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1715940852, "lastModified": 1717850719,
"narHash": "sha256-wJqHMg/K6X3JGAE9YLM0LsuKrKb4XiBeVaoeMNlReZg=", "narHash": "sha256-npYqVg+Wk4oxnWrnVG7416fpfrlRhp/lQ6wQ4DHI8YE=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "2fba33a182602b9d49f0b2440513e5ee091d838b", "rev": "4fc1c45a5f50169f9f29f6a98a438fb910b834ed",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -2088,14 +1928,14 @@
}, },
"treefmt-nix_2": { "treefmt-nix_2": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_9" "nixpkgs": "nixpkgs_8"
}, },
"locked": { "locked": {
"lastModified": 1715940852, "lastModified": 1717850719,
"narHash": "sha256-wJqHMg/K6X3JGAE9YLM0LsuKrKb4XiBeVaoeMNlReZg=", "narHash": "sha256-npYqVg+Wk4oxnWrnVG7416fpfrlRhp/lQ6wQ4DHI8YE=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "2fba33a182602b9d49f0b2440513e5ee091d838b", "rev": "4fc1c45a5f50169f9f29f6a98a438fb910b834ed",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -2106,7 +1946,7 @@
}, },
"treefmt-nix_3": { "treefmt-nix_3": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_12" "nixpkgs": "nixpkgs_10"
}, },
"locked": { "locked": {
"lastModified": 1715940852, "lastModified": 1715940852,

107
flake.nix
View file

@ -1,34 +1,40 @@
# Do not modify! This file is generated.
{ {
inputs = { inputs = {
agenix.url = "github:ryantm/agenix";
catppuccin.url = "github:catppuccin/nix"; catppuccin.url = "github:catppuccin/nix";
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable"; 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 = { home-manager = {
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
}; };
hyprland = { hyprland = {
submodules = true; submodules = true;
type = "git"; type = "git";
url = "https://github.com/hyprwm/Hyprland"; url = "https://github.com/hyprwm/Hyprland";
}; };
hyprland-plugins = { hyprland-plugins = {
inputs.hyprland.follows = "hyprland"; inputs.hyprland.follows = "hyprland";
url = "github:hyprwm/hyprland-plugins"; url = "github:hyprwm/hyprland-plugins";
}; };
impermanence.url = "github:nix-community/impermanence";
nix-colors.url = "github:Misterio77/nix-colors";
nix-index-database = { nix-index-database = {
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
url = "github:nix-community/nix-index-database"; 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 = { snowfall-flake = {
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
url = "github:snowfallorg/flake"; url = "github:snowfallorg/flake";
@ -37,8 +43,83 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
url = "github:snowfallorg/lib/dev"; 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;
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")
];
};
};
} }

View file

@ -9,30 +9,26 @@
home = { home = {
packages = with pkgs; packages = with pkgs;
[ [
distrobox
duf duf
eternal-terminal eternal-terminal
firefox
grc grc
iamb iamb
jamesdsp
jetbrains-toolbox
killall killall
libnotify libnotify
lm_sensors lm_sensors
loupe loupe
mpv mpv
ollama
playerctl playerctl
prismlauncher prismlauncher
telegram-desktop telegram-desktop
vesktop vesktop
youki youki
jetbrains.clion
] ]
++ (with inputs; [ ++ (with inputs; [
nixvim.packages.${pkgs.system}.default nixvim.packages.${pkgs.system}.default
])
++ (with inputs.chaotic.packages.${pkgs.system}; [
distrobox_git
firefox_nightly
]); ]);
pointerCursor = { pointerCursor = {

View file

@ -48,17 +48,15 @@ in
layer = "top"; layer = "top";
position = "top"; position = "top";
modules-center = ["hyprland/workspaces"];
modules-left = [ modules-left = [
"custom/startmenu" "custom/startmenu"
"hyprland/workspaces"
"hyprland/window" "hyprland/window"
"pulseaudio" "pulseaudio"
"cpu"
"memory"
]; ];
modules-right = [ modules-right = [
"battery"
"network" "network"
"custom/notification" "custom/notification"
"tray" "tray"
@ -107,6 +105,11 @@ in
tooltip = true; tooltip = true;
}; };
"battery" = {
format = " {}%";
tooltip = true;
};
"network" = { "network" = {
format-icons = [ format-icons = [
"󰤯" "󰤯"
@ -275,7 +278,7 @@ in
padding: 0px 30px 0px 15px; padding: 0px 30px 0px 15px;
} }
#network, #custom-notification, #tray { #battery, #network, #custom-notification, #tray {
background: #${palette.base01}; background: #${palette.base01};
border-radius: 10px 24px 10px 24px; border-radius: 10px 24px 10px 24px;
color: #${palette.base05}; color: #${palette.base05};
@ -300,17 +303,13 @@ in
}; };
}; };
services = { services.swaync = {
udiskie.enable = true;
swaync = {
enable = true; enable = true;
style = builtins.fetchurl { style = builtins.fetchurl {
url = "https://github.com/catppuccin/swaync/releases/download/v0.2.3/mocha.css"; url = "https://github.com/catppuccin/swaync/releases/download/v0.2.3/mocha.css";
sha256 = "1xr1wkg4zb467b35xhsfqiwhimfnn88i3ml5rf173rkm7fyby9qy"; sha256 = "1xr1wkg4zb467b35xhsfqiwhimfnn88i3ml5rf173rkm7fyby9qy";
}; };
}; };
};
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;
@ -321,8 +320,8 @@ in
modC = "SUPER CTRL"; modC = "SUPER CTRL";
modS = "SUPER SHIFT"; modS = "SUPER SHIFT";
browser = "firefox-nightly"; browser = "firefox";
colorPicker = "notify-send -i gtk-color-picker $(${hyprpicker}/bin/hyprpicker -a) 'Copied to clipboard.'"; colorPicker = "notify-send -e -i gtk-color-picker $(${hyprpicker}/bin/hyprpicker -a) 'Copied to clipboard.'";
fileManager = "nautilus"; fileManager = "nautilus";
launcher = "rofi -show drun"; launcher = "rofi -show drun";
terminal = "wezterm"; terminal = "wezterm";
@ -343,6 +342,7 @@ in
dwindle.preserve_split = true; dwindle.preserve_split = true;
gestures.workspace_swipe = true; gestures.workspace_swipe = true;
input.touchpad.natural_scroll = true; input.touchpad.natural_scroll = true;
xwayland.force_zero_scaling = true;
layerrule = [ layerrule = [
"dimaround, rofi" "dimaround, rofi"
@ -375,8 +375,7 @@ in
exec-once = [ exec-once = [
"waybar" "waybar"
"${mpvpaper}/bin/mpvpaper -vp -o 'no-audio loop' DP-1 ${builtins.toString ./wall.mp4}" "${mpvpaper}/bin/mpvpaper -vp -o 'no-audio loop panscan=1.0' eDP-1 ${builtins.toString ./wall.mp4}"
"mullvad connect"
]; ];
misc = { misc = {
@ -385,20 +384,7 @@ in
}; };
monitor = [ monitor = [
"eDP-1, disable" "eDP-1, 2560x1664@60, auto, 1.6"
"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"
]; ];
bindm = [ bindm = [

View file

@ -17,7 +17,7 @@ with pkgs; {
signing = { signing = {
signByDefault = true; signByDefault = true;
key = "0FF5B8826803F895"; key = "EF82E8CA83FF158C";
}; };
}; };

View file

@ -95,7 +95,7 @@
enable_kitty_graphics = true, enable_kitty_graphics = true,
enable_scroll_bar = false, enable_scroll_bar = false,
enable_wayland = false, enable_wayland = false,
font_size = 12, font_size = 18,
font = wezterm.font('Maple Mono NF'), font = wezterm.font('Maple Mono NF'),
keys = keybinds, keys = keybinds,
front_end = 'OpenGL', front_end = 'OpenGL',

View file

@ -46,111 +46,43 @@ with lib // pkgs // inputs; {
DefaultEnvironment="PATH=${path}" DefaultEnvironment="PATH=${path}"
''; '';
age = { virtualisation.podman = {
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 = {
enable = true; enable = true;
dockerCompat = true; dockerCompat = true;
dockerSocket.enable = true; dockerSocket.enable = true;
}; };
};
environment = { environment = {
sessionVariables = { sessionVariables = {
BROWSER = "firefox-nightly"; BROWSER = "firefox";
EDITOR = "nvim"; EDITOR = "nvim";
TERMINAL = "wezterm"; TERMINAL = "wezterm";
DIRENV_WARN_TIMEOUT = "100s"; DIRENV_WARN_TIMEOUT = "100s";
NIXOS_OZONE_WL = "1";
}; };
systemPackages = [ systemPackages = [
agenix.packages.${system}.default
gnome.nautilus gnome.nautilus
internal.lightly-boehs-qt6 internal.lightly-boehs-qt6
snowfallorg.flake snowfallorg.flake
sound-theme-freedesktop sound-theme-freedesktop
winetricks
wineWowPackages.staging
xclip xclip
yt-dlp 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 = { boot = {
blacklistedKernelModules = ["nouveau"];
kernelPackages = linuxPackages_cachyos;
supportedFilesystems = ["btrfs" "ntfs"]; supportedFilesystems = ["btrfs" "ntfs"];
initrd.systemd = {
enable = true;
emergencyAccess = true; # No password needed because of LUKS
};
plymouth = { plymouth = {
enable = true; enable = true;
catppuccin.enable = true; catppuccin.enable = true;
}; };
extraModprobeConfig = extraModprobeConfig = "options apple_dcp show_notch=1";
"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 = { loader = {
efi.canTouchEfiVariables = true; efi.canTouchEfiVariables = false;
systemd-boot = { systemd-boot = {
enable = true; enable = true;
@ -205,8 +137,6 @@ with lib // pkgs // inputs; {
min-free = "${toString (5 * 1024 * 1024 * 1024)}"; min-free = "${toString (5 * 1024 * 1024 * 1024)}";
max-free = "${toString (10 * 1024 * 1024 * 1024)}"; max-free = "${toString (10 * 1024 * 1024 * 1024)}";
extra-sandbox-paths = [config.programs.ccache.cacheDir];
extra-experimental-features = [ extra-experimental-features = [
"flakes" # flakes "flakes" # flakes
"nix-command" # experimental nix commands "nix-command" # experimental nix commands
@ -238,13 +168,11 @@ with lib // pkgs // inputs; {
}; };
programs = { programs = {
ccache.enable = true;
dconf.enable = true; dconf.enable = true;
fish.enable = true; fish.enable = true;
gamemode.enable = true; gamemode.enable = true;
steam.enable = true; steam.enable = false;
gnupg.agent.enable = true; gnupg.agent.enable = true;
virt-manager.enable = true;
hyprland = { hyprland = {
enable = true; enable = true;
@ -253,19 +181,18 @@ with lib // pkgs // inputs; {
nh = { nh = {
enable = true; enable = true;
clean.enable = true;
clean.extraArgs = "--keep-since 4d --keep 3";
flake = "/home/marshall/nix-config"; flake = "/home/marshall/nix-config";
}; };
}; };
networking = { networking = {
useDHCP = mkDefault true; useDHCP = mkDefault true;
hostName = "navis";
firewall.enable = false; firewall.enable = false;
nameservers = ["1.1.1.1" "1.0.0.1"]; nameservers = ["1.1.1.1" "1.0.0.1"];
networkmanager.dns = "none"; wireless.iwd = {
networkmanager.enable = true; enable = true;
settings.General.EnableNetworkConfiguration = true;
};
}; };
time.timeZone = "America/New_York"; time.timeZone = "America/New_York";
@ -275,11 +202,7 @@ with lib // pkgs // inputs; {
flatpak.enable = true; flatpak.enable = true;
getty.autologinUser = "marshall"; getty.autologinUser = "marshall";
gnome.gnome-keyring.enable = true; gnome.gnome-keyring.enable = true;
mullvad-vpn.enable = true;
ollama.enable = true;
openssh.enable = true; openssh.enable = true;
spice-vdagentd.enable = true;
udisks2.enable = true;
greetd = { greetd = {
enable = true; enable = true;
@ -300,7 +223,6 @@ with lib // pkgs // inputs; {
xserver = { xserver = {
enable = true; enable = true;
videoDrivers = ["nvidia"];
}; };
pipewire = { pipewire = {
@ -312,43 +234,25 @@ with lib // pkgs // inputs; {
}; };
users = { users = {
mutableUsers = false;
users.marshall = { users.marshall = {
isNormalUser = true; isNormalUser = true;
extraGroups = ["wheel" "gamemode" "libvirtd" "networkmanager"]; extraGroups = ["wheel" "gamemode" "libvirtd" "networkmanager"];
shell = fish; shell = fish;
hashedPasswordFile = config.age.secrets.passwd.path;
}; };
}; };
hardware = { hardware = {
asahi = {
peripheralFirmwareDirectory = ./firmware;
useExperimentalGPUDriver = true;
};
bluetooth.enable = true; bluetooth.enable = true;
i2c.enable = true; i2c.enable = true;
opengl = { opengl = {
enable = true; enable = true;
driSupport = 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";
};
}; };
}; };

View file

@ -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.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.wlan0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux";
}

View file

@ -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;
}