snowflake/flake.nix
2024-12-16 22:39:46 -05:00

129 lines
3.6 KiB
Nix
Executable file

{
description = "snowflake";
outputs = inputs:
inputs.flake-parts.lib.mkFlake {inherit inputs;} {
imports = [
inputs.pre-commit-hooks.flakeModule
./hosts
./hosts/deploy.nix
./home/profiles
];
systems = ["x86_64-linux"];
perSystem = {
config,
pkgs,
...
}: {
pre-commit = {
check.enable = true;
settings = {
excludes = ["flake.lock"];
hooks = {
stylua.enable = true;
statix.enable = true;
alejandra.enable = true;
deadnix = {
enable = true;
excludes = ["overlays.nix"];
};
prettier = {
enable = true;
files = "\\.(js|ts|md|json)$";
settings = {
trailing-comma = "none";
};
};
};
};
};
devShells.default = pkgs.mkShell {
name = "snowflake";
shellHook = config.pre-commit.installationScript;
packages = with pkgs; [
git
sops
alejandra
yaml-language-server
lua-language-server
];
};
formatter = pkgs.alejandra;
};
};
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
### hypr
hyprland = {
url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
inputs.nixpkgs.follows = "nixpkgs";
};
hypridle.url = "github:hyprwm/hypridle";
hyprlock = {
url = "github:hyprwm/hyprlock";
inputs.nixpkgs.follows = "nixpkgs";
inputs.hyprutils.follows = "hyprutils";
};
hyprpicker = {
url = "github:hyprwm/hyprpicker";
inputs.nixpkgs.follows = "nixpkgs";
inputs.hyprutils.follows = "hyprutils";
};
hyprpaper = {
url = "github:hyprwm/hyprpaper";
inputs.nixpkgs.follows = "nixpkgs";
inputs.hyprutils.follows = "hyprutils";
};
hyprsunset = {
url = "github:hyprwm/hyprsunset";
inputs.nixpkgs.follows = "nixpkgs";
inputs.hyprutils.follows = "hyprutils";
};
hyprutils = {
url = "github:hyprwm/hyprutils";
inputs.nixpkgs.follows = "nixpkgs";
};
xdg-portal-hyprland = {
url = "github:hyprwm/xdg-desktop-portal-hyprland";
inputs.nixpkgs.follows = "nixpkgs";
inputs.hyprutils.follows = "hyprutils";
};
hyprland-plugins = {
url = "github:hyprwm/hyprland-plugins";
inputs.hyprland.follows = "hyprland";
};
### other stuff
nix-gaming.url = "github:fufexan/nix-gaming";
nur.url = "github:nix-community/NUR";
yazi.url = "github:sxyazi/yazi";
helix.url = "github:helix-editor/helix";
pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix";
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
atuin.url = "github:atuinsh/atuin";
flake-parts.url = "github:hercules-ci/flake-parts";
stylix.url = "github:danth/stylix";
eww.url = "github:elkowar/eww";
anyrun.url = "github:Kirottu/anyrun";
botoh.url = "git+https://git.flake.sh/notohh/botoh";
conduwuit.url = "github:girlbossceo/conduwuit";
deploy-rs = {
url = "github:serokell/deploy-rs";
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
nixvim = {
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
};
};
}