snowflake/flake.nix

104 lines
2.3 KiB
Nix
Raw Normal View History

2022-12-06 01:24:54 -05:00
{
2023-03-06 05:35:45 -05:00
description = "snowflake";
2023-04-23 17:45:37 -04:00
2022-12-06 01:24:54 -05:00
inputs = {
2023-04-23 21:41:20 -04:00
nixpkgs = {
url = "github:nixos/nixpkgs/nixos-unstable";
};
hyprland = {
url = "github:hyprwm/Hyprland";
};
2022-12-14 19:26:48 -05:00
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
2023-04-23 17:45:37 -04:00
};
2023-04-26 19:42:28 -04:00
deploy-rs = {
url = "github:serokell/deploy-rs";
};
sops-nix = {
url = "github:Mic92/sops-nix";
};
2022-12-06 01:24:54 -05:00
};
2023-04-23 17:45:37 -04:00
outputs = {
self,
nixpkgs,
home-manager,
hyprland,
...
} @ inputs: let
system = "x86_64-linux";
lib = nixpkgs.lib;
2023-04-23 22:22:16 -04:00
pkgs = import nixpkgs {
inherit system;
};
2023-04-23 17:45:37 -04:00
in {
2023-04-23 22:22:16 -04:00
devShells.${system}.default = pkgs.mkShell {
name = "snowflake";
packages = with pkgs; [
nil
2023-04-26 20:50:07 -04:00
yaml-language-server
2023-04-23 22:22:16 -04:00
alejandra
git
2023-04-26 17:34:08 -04:00
deploy-rs
2023-04-26 20:50:07 -04:00
sops
file
inlyne
2023-04-23 22:22:16 -04:00
];
};
2023-04-26 17:34:08 -04:00
deploy = import ./hosts/deploy.nix inputs;
2023-04-23 22:22:16 -04:00
formatter.${system} = pkgs.alejandra;
2023-04-23 17:45:37 -04:00
nixosConfigurations = {
tsuki = lib.nixosSystem {
inherit system;
modules = [
./hosts/tsuki
home-manager.nixosModules.home-manager
{
2023-04-23 18:12:16 -04:00
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = {inherit inputs;};
users.notoh = {
imports = [
hyprland.homeManagerModules.default
./hosts/tsuki/home.nix
];
};
2023-02-04 12:38:36 -05:00
};
2022-12-19 17:55:54 -05:00
}
];
2022-12-06 01:24:54 -05:00
};
2023-04-23 17:45:37 -04:00
hime = lib.nixosSystem {
inherit system;
modules = [
./hosts/hime
home-manager.nixosModules.home-manager
{
2023-04-23 18:12:16 -04:00
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.oh = {imports = [./hosts/hime/home.nix];};
};
2023-02-27 05:39:25 -05:00
}
2023-01-31 12:57:48 -05:00
];
};
2023-04-23 17:45:37 -04:00
sutakku = lib.nixosSystem {
2023-02-27 21:38:27 -05:00
inherit system;
modules = [
./hosts/sutakku
2023-04-23 17:45:37 -04:00
home-manager.nixosModules.home-manager
{
2023-04-23 18:12:16 -04:00
home-manager = {
useGlobalPkgs = true;
2023-04-23 18:16:11 -04:00
useUserPackages = true;
users.oh = {
2023-04-23 18:12:16 -04:00
imports = [./hosts/sutakku/home.nix];
};
2023-02-27 21:38:27 -05:00
};
}
];
};
2023-01-31 12:57:48 -05:00
};
2023-04-23 17:45:37 -04:00
};
2022-12-06 01:24:54 -05:00
}