HermitNix_DEPRECATED/flake.nix

114 lines
3.5 KiB
Nix

{
description = "NixOS system configuration";
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
nix-flatpak.url = "github:gmodena/nix-flatpak";
home-manager = {
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
iceshrimp = {
url = "git+https://iceshrimp.dev/iceshrimp/packaging";
};
nixos-hardware = {
url = "github:NixOS/nixos-hardware/master";
};
};
outputs = { self, nixpkgs, nix-flatpak, home-manager, iceshrimp, nixos-hardware, ... }@inputs:
let
system = "x86_64-linux";
currentSystem = system;
pkgs = import nixpkgs {
inherit system;
};
lib = nixpkgs.lib;
in {
nixosConfigurations = {
# Configuration for my framework 13 inch 11gen laptop
laptop = lib.nixosSystem {
inherit system;
modules = [
# Set hardware config for the right host
./Hosts/hertog-laptop/hardware-configuration.nix
nixos-hardware.nixosModules.framework-11th-gen-intel
# System
./System/configuration.nix
./Hosts/hertog-laptop/configuration.nix
# Comment out what's needed based on host
#./System/getty.nix
./System/gnome.nix
./System/audio.nix
# Appliances is where printer support is enabled but also things like flipperzero flashing
./System/appliances.nix
# Needed to install flatpaks decleratively
nix-flatpak.nixosModules.nix-flatpak
# Systemwide installed pacakges userpackages are set through home-manager
./System/packages.nix
./Programs/steam.nix
./Hosts/hertog-laptop/packages.nix
# Redis server for HermitSearch testing
./Services/redis.nix
# Users still need to be set outside of home-manager
./Users/Hertog/user.nix
# Home manager imports
home-manager.nixosModules.home-manager {
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.hertog = import ./Users/Hertog/homeFull.nix;
};
}
];
specialArgs = {
inputs = inputs;
inherit system;
};
};
# HermitCollective Server config
server = lib.nixosSystem {
inherit system;
modules = [
# System configuration
./Hosts/hertog-server/hardware-configuration.nix
./System/configuration.nix
./Hosts/hertog-server/configuration.nix
./System/getty.nix
./System/packages.nix
./Hosts/hertog-server/packages.nix
# Services
./Services/ssh.nix
./Services/nginx.nix
./Services/nextcloud.nix
./Services/uptime-kuma.nix
./Services/tt-rss.nix
./Services/owncast.nix
# Sites
./Sites/hermitcollective.net
./Sites/blog.hermitcollective.net
./Sites/hertog.hermitcollective.net
# Users
./Users/Hertog/user.nix
./Users/Sara/user.nix
home-manager.nixosModules.home-manager {
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.hertog = import ./Users/Hertog/homeMinimal.nix;
users.sara = import ./Users/Sara/homeMinimal.nix;
};
}
];
specialArgs = {
inputs = inputs;
inherit system;
};
};
};
};
}