2024-05-31 12:41:57 +02:00
|
|
|
|
{
|
2024-09-13 10:46:49 +02:00
|
|
|
|
inputs = {
|
|
|
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
|
|
|
home-manager = {
|
|
|
|
|
url = "github:nix-community/home-manager";
|
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
|
};
|
|
|
|
|
nur.url = "github:nix-community/NUR";
|
2024-11-24 21:08:34 +01:00
|
|
|
|
ags.url = "./home/ags";
|
2024-09-13 10:46:49 +02:00
|
|
|
|
fzgo.url = "git+https://git.thomasave.be/thomasave/fzgo.git";
|
2024-11-06 01:36:31 +01:00
|
|
|
|
worktimer = {
|
|
|
|
|
type = "git";
|
|
|
|
|
url = "https://git.thomasave.be/thomasave/WorkTimer";
|
|
|
|
|
ref = "cli";
|
|
|
|
|
};
|
2024-12-28 20:59:09 +01:00
|
|
|
|
nixos-06cb-009a-fingerprint-sensor = {
|
|
|
|
|
url = "github:ahbnr/nixos-06cb-009a-fingerprint-sensor?ref=24.11";
|
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
|
};
|
2024-05-31 12:41:57 +02:00
|
|
|
|
};
|
|
|
|
|
|
2024-12-28 20:59:09 +01:00
|
|
|
|
outputs = { nixpkgs, home-manager, nur, nixos-06cb-009a-fingerprint-sensor, ... }@inputs:
|
2024-09-13 10:46:49 +02:00
|
|
|
|
let
|
|
|
|
|
system = "x86_64-linux";
|
|
|
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
|
|
|
|
commonModules = host: user: [
|
|
|
|
|
./hosts/${host}/hardware-configuration.nix
|
2024-10-23 14:07:26 +02:00
|
|
|
|
{ nixpkgs.overlays = [
|
2024-12-08 01:11:54 +01:00
|
|
|
|
nur.overlays.default
|
2024-10-23 14:07:26 +02:00
|
|
|
|
(self: super: { utillinux = super.util-linux; })
|
2024-10-18 13:01:38 +02:00
|
|
|
|
]; }
|
2024-09-13 10:46:49 +02:00
|
|
|
|
{
|
|
|
|
|
networking.hostName = host;
|
|
|
|
|
time.timeZone = "Europe/Brussels";
|
|
|
|
|
nix.settings = {
|
|
|
|
|
substituters = [
|
|
|
|
|
"https://nix-community.cachix.org"
|
|
|
|
|
"https://cuda-maintainers.cachix.org"
|
|
|
|
|
];
|
|
|
|
|
trusted-public-keys = [
|
|
|
|
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
|
|
|
|
"cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E="
|
|
|
|
|
];
|
|
|
|
|
experimental-features = [ "nix-command" "flakes" ];
|
|
|
|
|
trusted-users = [ "root" user ];
|
|
|
|
|
auto-optimise-store = true;
|
|
|
|
|
};
|
|
|
|
|
users.users.${user} = {
|
|
|
|
|
isNormalUser = true;
|
|
|
|
|
extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
|
|
|
|
|
openssh.authorizedKeys.keys = [
|
|
|
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKAa3tMzSCRuprEACrBsKI0F/o73o6J9L1qR3TaZn/N8 user@Kell"
|
|
|
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIByLwLAdJbmoDV5sx4hg5NbzKbOh1GmWEhDOUJ1GQBhK user@Riva"
|
|
|
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBxMq4kubz4wWr4S8xU3GRkPcn6XRS3y7IP+qylN5QAp user@Aloria"
|
2024-11-04 19:21:59 +01:00
|
|
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOAhFTJI49o+eS1kHs5XRrpCLLuhAE+JUCffusudyR88 user@Arendia"
|
2024-09-13 10:46:49 +02:00
|
|
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHtzTFdvLEvXpv69qAWLTipl4hgsKgRrRrWJRecsFthG user@Arch"
|
|
|
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOxtJRtlAphl8euicVUR/6C7o+tyhpYmcbMBLHnldEIX server@mallorea"
|
|
|
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILazQU/Y9I5PkMZoG/Lzc6mDR7s+aRHzqJoFUhYSse4P PocoF1"
|
2024-12-08 01:11:54 +01:00
|
|
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOetfiPyIQ8hbU4t87E0ZrgLqFW9YW09+MNNiusXwW0C user@Asturia"
|
2024-09-13 10:46:49 +02:00
|
|
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFoUYcVMsDw6tmjfdOuQkwaXx8fohKJs/6/5HoLzTP6x Tablet"
|
|
|
|
|
];
|
|
|
|
|
shell = pkgs.zsh;
|
|
|
|
|
};
|
|
|
|
|
system.stateVersion = "23.11";
|
|
|
|
|
}
|
|
|
|
|
home-manager.nixosModules.home-manager
|
|
|
|
|
{
|
|
|
|
|
home-manager = {
|
2025-01-08 19:58:41 +01:00
|
|
|
|
extraSpecialArgs = { inherit inputs; };
|
2024-09-13 10:46:49 +02:00
|
|
|
|
useGlobalPkgs = true;
|
|
|
|
|
useUserPackages = true;
|
|
|
|
|
users.${user} = { imports = [ ./home/${host}.nix ]; };
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
./hosts/${host}
|
|
|
|
|
];
|
|
|
|
|
mkSystem = host: cfg:
|
|
|
|
|
nixpkgs.lib.nixosSystem {
|
|
|
|
|
system = cfg.system or "x86_64-linux";
|
|
|
|
|
modules = (commonModules host cfg.user) ++ (cfg.modules or [ ]);
|
|
|
|
|
specialArgs = inputs;
|
|
|
|
|
};
|
|
|
|
|
systems = {
|
|
|
|
|
Riva = { user = "user"; };
|
|
|
|
|
Kell = { user = "user"; };
|
|
|
|
|
Aloria = { user = "user"; };
|
2024-12-28 20:59:09 +01:00
|
|
|
|
Arendia = { user = "user"; modules = [
|
|
|
|
|
nixos-06cb-009a-fingerprint-sensor.nixosModules."06cb-009a-fingerprint-sensor"
|
|
|
|
|
];};
|
2024-12-07 19:00:18 +01:00
|
|
|
|
Asturia = { user = "user"; };
|
2024-09-13 10:46:49 +02:00
|
|
|
|
};
|
|
|
|
|
in
|
|
|
|
|
{ nixosConfigurations = nixpkgs.lib.mapAttrs mkSystem systems; };
|
2024-05-31 12:41:57 +02:00
|
|
|
|
}
|