chore: refactor systems
This commit is contained in:
parent
a57a6fb890
commit
5719c0d2b4
10 changed files with 46 additions and 69 deletions
|
@ -1,4 +1,6 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
|
imports = [./common.nix];
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
nil
|
nil
|
||||||
ffmpeg
|
ffmpeg
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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";
|
||||||
|
|
|
@ -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
|
|
||||||
]);
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 = {
|
||||||
|
|
|
@ -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 = {};
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
|
nixos-wsl,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
|
nixos-wsl.nixosModules.default
|
||||||
../../programs/rust.nix
|
../../programs/rust.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
{
|
{
|
||||||
# intentionally empty
|
nixpkgs.hostPlatform = "x86_64-linux";
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue