sisyphus/nixos/flake.nix
2024-11-10 20:18:46 +01:00

83 lines
2.1 KiB
Nix

{
description = "System configuration of my machines using flakes";
inputs = {
nixpkgs.url = "nixpkgs/nixos-24.05";
nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
home-manager = {
url = "github:nix-community/home-manager/release-24.05";
inputs.nixpkgs.follows = "nixpkgs";
};
openconnect-sso = {
url = "github:ThinkChaos/openconnect-sso/fix/nix-flake";
inputs = {
flake-utils.follows = "utils";
nixpkgs.follows = "nixpkgs";
};
};
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
utils = {
url = "github:gytis-ivaskevicius/flake-utils-plus";
inputs.flake-utils.follows = "flake-utils";
};
};
outputs = inputs@{
self, nixpkgs, nixpkgs-unstable,
flake-utils, home-manager, openconnect-sso, sops-nix, utils,
... }:
let
system = "x86_64-linux";
unfreePackages = pkg: builtins.elem (nixpkgs.lib.getName pkg) [
"corefonts"
"nvidia-settings" "nvidia-x11" "nvidia-persistenced"
"Oracle_VM_VirtualBox_Extension_Pack"
"spotify"
"steam" "steam-original" "steam-run"
"vista-fonts"
"nvidia-persistenced" # Docker
];
in
utils.lib.mkFlake {
inherit self inputs;
channelsConfig.allowUnfreePredicate = unfreePackages;
sharedOverlays = [
(import ./overlays/cmdtime)
(import ./overlays/icosystem)
(import ./overlays/letter)
(import ./overlays/spotify)
];
hostDefaults = {
inherit system;
specialArgs = {
pkgs-unstable = import nixpkgs-unstable {
inherit system;
config.allowUnfreePredicate = unfreePackages;
};
};
modules = [
home-manager.nixosModule
sops-nix.nixosModules.sops
./modules
./users
];
};
hosts = {
Tibo-NixDesk.modules = [ ./hosts/Tibo-NixDesk ];
Tibo-NixFat.modules = [ ./hosts/Tibo-NixFat ];
Tibo-NixTest.modules = [ ./hosts/Tibo-NixTest ];
};
};
}