111 lines
3.3 KiB
Nix
111 lines
3.3 KiB
Nix
{
|
|
description = "NixOS system configuration";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "nixpkgs/nixos-unstable";
|
|
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, 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
|
|
# 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/tt-rss.nix
|
|
./Services/owncast.nix
|
|
./Services/uptime-kuma.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;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|
|
|