nix-home/flake.nix

84 lines
2.8 KiB
Nix
Raw Normal View History

2021-10-26 18:25:19 +00:00
{
description = "nki's systems";
2021-10-26 18:25:19 +00:00
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/21.05";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable";
darwin.url = "github:lnl7/nix-darwin/master";
darwin.inputs.nixpkgs.follows = "nixpkgs-unstable";
home-manager-unstable.url = "github:nix-community/home-manager";
home-manager-21_05.url = "github:nix-community/home-manager/release-21.05";
sops-nix.url = "github:Mic92/sops-nix";
deploy-rs.url = "github:Serokell/deploy-rs";
nur.url = "github:nix-community/NUR";
2021-10-29 04:25:58 +00:00
# ---
# Imported apps
2021-10-29 17:31:16 +00:00
naersk.url = "github:nix-community/naersk";
2021-10-29 04:25:58 +00:00
rnix-lsp.url = "github:nix-community/rnix-lsp";
2021-10-29 17:31:16 +00:00
rnix-lsp.inputs.naersk.follows = "naersk";
rnix-lsp.inputs.nixpkgs.follows = "nixpkgs-unstable";
2021-10-26 18:25:19 +00:00
};
outputs = { self, darwin, nixpkgs, nixpkgs-unstable, home-manager-unstable, home-manager-21_05, deploy-rs, sops-nix, nur, ... }@inputs:
2021-10-29 17:31:16 +00:00
let
overlayForSystem = import ./overlay.nix inputs;
in
{
# MacBook configuration: nix-darwin + home-manager
darwinConfigurations."nki-macbook" = darwin.lib.darwinSystem {
system = "aarch64-darwin";
modules = [
./darwin/configuration.nix
home-manager-unstable.darwinModules.home-manager
2021-10-26 18:25:19 +00:00
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
2021-10-27 16:35:53 +00:00
home-manager.users.nki = import ./home/macbook-home.nix;
2021-10-29 17:31:16 +00:00
}
(overlayForSystem "aarch64-darwin")
];
};
2021-10-29 17:31:16 +00:00
# Home configuration
nixosConfigurations."nki-home" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./modules/my-tinc
sops-nix.nixosModules.sops
./nki-home/configuration.nix
home-manager-21_05.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.nki = import ./home/kagami-pc-home.nix;
}
(overlayForSystem "x86_64-linux")
];
};
# DigitalOcean node
nixosConfigurations."nki-personal-do" = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./modules/my-tinc
sops-nix.nixosModules.sops
./nki-personal-do/configuration.nix
2021-11-01 01:41:29 +00:00
(overlayForSystem "x86_64-linux")
];
};
deploy.nodes."nki-personal-do" = {
hostname = "nki-personal-do";
sshUser = "root";
profiles.system = {
user = "root";
path = deploy-rs.lib.x86_64-linux.activate.nixos self.nixosConfigurations."nki-personal-do";
};
};
# This is highly advised, and will prevent many possible mistakes
checks = builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) deploy-rs.lib;
2021-10-26 18:25:19 +00:00
};
}