2023-03-06 21:00:44 +01:00
|
|
|
{
|
2023-03-22 22:12:39 +01:00
|
|
|
description = "System configuration of my machines using flakes";
|
2023-04-04 11:23:33 +02:00
|
|
|
|
2023-03-06 21:00:44 +01:00
|
|
|
inputs = {
|
2024-06-02 20:49:04 +02:00
|
|
|
nixpkgs.url = "nixpkgs/nixos-24.05";
|
2023-06-24 14:01:21 +02:00
|
|
|
nixpkgs-unstable.url = "nixpkgs/nixos-unstable";
|
2023-04-04 11:23:33 +02:00
|
|
|
|
2023-03-22 22:12:39 +01:00
|
|
|
devshell = {
|
|
|
|
url = "github:numtide/devshell";
|
2023-08-11 17:16:37 +02:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
2023-03-06 21:00:44 +01:00
|
|
|
};
|
2023-03-22 22:12:39 +01:00
|
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
|
|
home-manager = {
|
2024-06-02 20:49:04 +02:00
|
|
|
url = "github:nix-community/home-manager/release-24.05";
|
2023-08-11 17:16:37 +02:00
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
2023-03-06 21:00:44 +01:00
|
|
|
};
|
2024-02-18 16:31:46 +01:00
|
|
|
openconnect-sso = {
|
|
|
|
url = github:ThinkChaos/openconnect-sso/fix/nix-flake;
|
|
|
|
inputs = {
|
|
|
|
flake-utils.follows = "utils";
|
|
|
|
nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
|
|
|
};
|
2023-04-11 18:00:21 +02:00
|
|
|
sops-nix = {
|
|
|
|
url = "github:Mic92/sops-nix";
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
};
|
2023-03-22 22:12:39 +01:00
|
|
|
utils = {
|
|
|
|
url = "github:gytis-ivaskevicius/flake-utils-plus";
|
|
|
|
inputs.flake-utils.follows = "flake-utils";
|
|
|
|
};
|
|
|
|
};
|
2023-03-06 21:00:44 +01:00
|
|
|
|
2023-03-22 22:12:39 +01:00
|
|
|
outputs = inputs@{
|
2023-06-24 14:01:21 +02:00
|
|
|
self, nixpkgs, nixpkgs-unstable,
|
2024-02-18 16:31:46 +01:00
|
|
|
devshell, flake-utils, home-manager, openconnect-sso, sops-nix, utils,
|
2023-03-22 22:12:39 +01:00
|
|
|
... }:
|
|
|
|
let
|
|
|
|
system = "x86_64-linux";
|
2023-04-04 11:23:33 +02:00
|
|
|
|
2023-11-14 21:04:57 +01:00
|
|
|
unfreePackages = pkg: builtins.elem (nixpkgs.lib.getName pkg) [
|
2023-10-20 22:28:37 +02:00
|
|
|
"corefonts"
|
2024-02-18 16:34:18 +01:00
|
|
|
"nvidia-settings" "nvidia-x11" "nvidia-persistenced"
|
2023-10-24 21:00:53 +02:00
|
|
|
"Oracle_VM_VirtualBox_Extension_Pack"
|
2023-11-14 21:04:57 +01:00
|
|
|
"spotify"
|
|
|
|
"steam" "steam-original" "steam-run"
|
2023-10-20 22:28:37 +02:00
|
|
|
"vista-fonts"
|
2024-03-04 16:54:28 +01:00
|
|
|
"nvidia-persistenced" # Docker
|
2023-10-20 22:28:37 +02:00
|
|
|
];
|
2023-11-14 21:04:57 +01:00
|
|
|
in
|
|
|
|
utils.lib.mkFlake {
|
|
|
|
inherit self inputs;
|
|
|
|
|
|
|
|
channelsConfig.allowUnfreePredicate = unfreePackages;
|
2023-04-04 11:23:33 +02:00
|
|
|
|
2023-10-11 22:39:54 +02:00
|
|
|
sharedOverlays = [
|
2023-10-19 22:24:04 +02:00
|
|
|
(import ./overlays/cmdtime)
|
2023-10-24 09:58:25 +02:00
|
|
|
(import ./overlays/icosystem)
|
|
|
|
(import ./overlays/letter)
|
2023-10-08 22:13:53 +02:00
|
|
|
(import ./overlays/spotify)
|
2023-10-11 22:39:54 +02:00
|
|
|
];
|
|
|
|
|
2023-04-04 11:23:33 +02:00
|
|
|
hostDefaults = {
|
|
|
|
inherit system;
|
2023-06-24 14:01:21 +02:00
|
|
|
|
|
|
|
specialArgs = {
|
|
|
|
pkgs-unstable = import nixpkgs-unstable {
|
|
|
|
inherit system;
|
2023-11-14 21:04:57 +01:00
|
|
|
config.allowUnfreePredicate = unfreePackages;
|
2023-06-24 14:01:21 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2023-04-04 11:23:33 +02:00
|
|
|
modules = [
|
|
|
|
home-manager.nixosModule
|
2023-04-11 18:00:21 +02:00
|
|
|
sops-nix.nixosModules.sops
|
2023-10-17 23:09:40 +02:00
|
|
|
./modules
|
2023-10-20 20:29:11 +02:00
|
|
|
./users
|
2023-04-04 11:23:33 +02:00
|
|
|
];
|
|
|
|
};
|
|
|
|
|
|
|
|
hosts = {
|
2023-04-11 18:01:53 +02:00
|
|
|
Tibo-NixDesk.modules = [ ./hosts/Tibo-NixDesk ];
|
2023-04-04 11:23:33 +02:00
|
|
|
Tibo-NixFat.modules = [ ./hosts/Tibo-NixFat ];
|
|
|
|
Tibo-NixTest.modules = [ ./hosts/Tibo-NixTest ];
|
2023-03-24 11:15:51 +01:00
|
|
|
};
|
2023-03-06 21:00:44 +01:00
|
|
|
};
|
|
|
|
}
|