chore: refactor systems

This commit is contained in:
uku 2024-06-26 19:30:41 +02:00
parent a57a6fb890
commit 5719c0d2b4
Signed by: uku
SSH key fingerprint: SHA256:4P0aN6M8ajKukNi6aPOaX0LacanGYtlfjmN+m/sHY/o
10 changed files with 46 additions and 69 deletions

View file

@ -1,4 +1,6 @@
{pkgs, ...}: { {pkgs, ...}: {
imports = [./common.nix];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
nil nil
ffmpeg ffmpeg

View file

@ -4,12 +4,18 @@
config, config,
nixpkgs, nixpkgs,
agenix, agenix,
home-manager,
vscode-server,
... ...
}: let }: let
username = "leo"; username = "leo";
stateVersion = "23.11"; stateVersion = "23.11";
in { in {
imports = [ imports = [
agenix.nixosModules.default
home-manager.nixosModules.home-manager
vscode-server.nixosModules.default
(lib.mkAliasOptionModule ["hm"] ["home-manager" "users" username]) (lib.mkAliasOptionModule ["hm"] ["home-manager" "users" username])
../programs/fish.nix ../programs/fish.nix

View file

@ -3,9 +3,15 @@
pkgs, pkgs,
config, config,
catppuccin, catppuccin,
lanzaboote,
... ...
}: { }: {
imports = [ imports = [
catppuccin.nixosModules.catppuccin
lanzaboote.nixosModules.lanzaboote
./client.nix
../programs/ghostty.nix ../programs/ghostty.nix
../programs/gnome.nix ../programs/gnome.nix
../programs/vscode.nix ../programs/vscode.nix

View file

@ -1,4 +1,6 @@
{config, ...}: { {config, ...}: {
imports = [./common.nix];
_module.args.nixinate = { _module.args.nixinate = {
host = config.networking.hostName; host = config.networking.hostName;
sshUser = "root"; sshUser = "root";

View file

@ -1,76 +1,26 @@
{ {
lib, lib,
self,
inputs, inputs,
... ...
}: let }: let
# shamelessly borrowed from https://github.com/getchoo/flake/blob/94dc521310b34b80158d1a0ab65d4daa3a44d81e/systems/default.nix toSystem = name: role:
toSystem = builder: name: args: inputs.nixpkgs.lib.nixosSystem
(args.builder or builder) ( {
(builtins.removeAttrs args ["builder"]) modules = [
// { ./${name}
modules = ./${name}/hardware-configuration.nix
args.modules ../configs/${role}.nix
++ [
./${name}
./${name}/hardware-configuration.nix
{networking.hostName = name;} {networking.hostName = name;}
]; ];
specialArgs = inputs;
}
);
mapNixOS = lib.mapAttrs (toSystem inputs.nixpkgs.lib.nixosSystem); specialArgs = inputs;
};
_common = with inputs; [
../configs/common.nix
agenix.nixosModules.default
home-manager.nixosModules.home-manager
vscode-server.nixosModules.default
];
client = [../configs/client.nix] ++ _common;
server = [../configs/server.nix] ++ _common;
desktop = with inputs;
[
../configs/desktop.nix
catppuccin.nixosModules.catppuccin
lanzaboote.nixosModules.lanzaboote
]
++ client;
in { in {
flake.nixosConfigurations = mapNixOS { flake.nixosConfigurations = lib.mapAttrs toSystem {
fuji = { fuji = "desktop";
system = "x86_64-linux"; fuji-wsl = "client";
modules = desktop; kilimandjaro = "desktop";
}; etna = "server";
fuji-wsl = {
system = "x86_64-linux";
modules =
client
++ (with inputs; [
nixos-wsl.nixosModules.default
]);
};
kilimandjaro = {
system = "x86_64-linux";
modules = desktop;
};
etna = {
system = "x86_64-linux";
modules =
server
++ (with inputs; [
api-rs.nixosModules.default
ukubot-rs.nixosModules.default
self.nixosModules.reposilite
]);
};
}; };
} }

View file

@ -1,4 +1,6 @@
_: { {self, ...}: {
imports = [self.nixosModules.reposilite];
cfTunnels."maven.uku3lig.net" = "http://localhost:8080"; cfTunnels."maven.uku3lig.net" = "http://localhost:8080";
# see exprs/reposilite/module.nix # see exprs/reposilite/module.nix

View file

@ -1,4 +1,4 @@
{...}: { _: {
cfTunnels."uku.moe" = "http://localhost:8081"; cfTunnels."uku.moe" = "http://localhost:8081";
virtualisation.oci-containers.containers.shlink = { virtualisation.oci-containers.containers.shlink = {

View file

@ -1,8 +1,15 @@
{ {
config, config,
mkSecrets, mkSecrets,
api-rs,
ukubot-rs,
... ...
}: { }: {
imports = [
api-rs.nixosModules.default
ukubot-rs.nixosModules.default
];
age.secrets = mkSecrets { age.secrets = mkSecrets {
apiRsEnv = {}; apiRsEnv = {};
ukubotRsEnv = {}; ukubotRsEnv = {};

View file

@ -1,9 +1,11 @@
{ {
config, config,
pkgs, pkgs,
nixos-wsl,
... ...
}: { }: {
imports = [ imports = [
nixos-wsl.nixosModules.default
../../programs/rust.nix ../../programs/rust.nix
]; ];

View file

@ -1,3 +1,3 @@
{ {
# intentionally empty nixpkgs.hostPlatform = "x86_64-linux";
} }