re-work cli aspect for nixos and homeModules

This commit is contained in:
William 2026-02-15 12:53:05 -03:00
parent 5f1c05f090
commit bfa2521ed0
13 changed files with 264 additions and 230 deletions

View file

@ -1,6 +1,13 @@
{ ... }:
{
flake.modules.homeManager.cli-btop =
flake.modules = {
nixos.btop =
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [ btop ];
};
homeManager.btop =
{
config,
lib,
@ -17,4 +24,5 @@
};
};
};
};
}

28
aspects/cli/cli.nix Normal file
View file

@ -0,0 +1,28 @@
{ inputs, ... }:
{
flake.modules = {
nixos.cli =
{ ... }:
{
imports = with inputs.self.modules.nixos; [
btop
helix
tmux
];
};
homeManager.cli =
{ ... }:
{
imports = with inputs.self.modules.nixos; [
btop
comma
direnv
helix
hm-cli
starship
tmux
];
};
};
}

View file

@ -1,6 +1,6 @@
{ ... }:
{
flake.modules.homeManager.cli-comma =
flake.modules.homeManager.comma =
{
config,
lib,

View file

@ -1,6 +1,6 @@
{ ... }:
{
flake.modules.homeManager.cli-direnv =
flake.modules.homeManager.direnv =
{
config,
lib,

View file

@ -1,6 +1,15 @@
{ ... }:
{
flake.modules.homeManager.cli-helix =
flake.modules = {
nixos.helix =
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
helix
];
};
homeManager.helix =
{
config,
lib,
@ -54,4 +63,5 @@
};
};
};
};
}

View file

@ -1,6 +1,6 @@
{ ... }:
{
flake.modules.homeManager.cli-base =
flake.modules.homeManager.hm-cli =
{
config,
lib,

View file

@ -1,6 +1,6 @@
{ ... }:
{
flake.modules.homeManager.cli-starship =
flake.modules.homeManager.starship =
{
config,
lib,

View file

@ -1,6 +1,15 @@
{ ... }:
{
flake.modules.homeManager.cli-tmux =
flake.modules = {
nixos.tmux =
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
tmux
];
};
homeManager.tmux =
{
config,
lib,
@ -16,4 +25,5 @@
keyMode = "vi";
};
};
};
}

View file

@ -8,13 +8,10 @@
### Dev Tools ###
git
### System Utilities ###
btop
fastfetch
helix
nixos-firewall-tool
nvd
sysz
tmux
wget
yazi
];

View file

@ -1,4 +1,4 @@
{ inputs, ... }:
{ inputs, lib, ... }:
{
flake.nixosConfigurations.alexandria = inputs.nixpkgs-stable.lib.nixosSystem {
@ -13,39 +13,34 @@
inputs.self.overlays.default
];
}
((inputs.import-tree.initFilter (p: lib.hasSuffix ".nix" p)) ./_alexandria)
]
++ (with inputs.self.modules.nixos; [
cli
# Common aspects (always included)
inputs.self.modules.nixos.common-boot
inputs.self.modules.nixos.common-console
inputs.self.modules.nixos.common-firewall
inputs.self.modules.nixos.common-locale
inputs.self.modules.nixos.common-nix
inputs.self.modules.nixos.common-openssh
inputs.self.modules.nixos.common-programs
inputs.self.modules.nixos.common-security
inputs.self.modules.nixos.common-services
inputs.self.modules.nixos.common-tailscale
common-boot
common-console
common-firewall
common-locale
common-nix
common-openssh
common-programs
common-security
common-services
common-tailscale
# User aspects
inputs.self.modules.nixos.user
inputs.self.modules.nixos.root
user
root
# Server aspects
inputs.self.modules.nixos.server-boot
inputs.self.modules.nixos.server-nix
inputs.self.modules.nixos.server-tailscale
server-boot
server-nix
server-tailscale
# Other aspects
inputs.self.modules.nixos.fwupd
inputs.self.modules.nixos.podman
# Host-specific files (from _alexandria/)
./_alexandria/hardware-configuration.nix
./_alexandria/jellyfin.nix
./_alexandria/nextcloud.nix
./_alexandria/nginx.nix
./_alexandria/unbound.nix
./_alexandria/vaultwarden.nix
];
fwupd
]);
};
}

View file

@ -1,4 +1,5 @@
{ inputs, self, ... }:
{ inputs, lib, ... }:
{
flake.nixosConfigurations.io = inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
@ -12,48 +13,43 @@
inputs.self.overlays.default
];
}
# Common aspects (always included)
inputs.self.modules.nixos.common-boot
inputs.self.modules.nixos.common-console
inputs.self.modules.nixos.common-firewall
inputs.self.modules.nixos.common-locale
inputs.self.modules.nixos.common-nix
inputs.self.modules.nixos.common-openssh
inputs.self.modules.nixos.common-programs
inputs.self.modules.nixos.common-security
inputs.self.modules.nixos.common-services
inputs.self.modules.nixos.common-tailscale
# User aspects
inputs.self.modules.nixos.user
inputs.self.modules.nixos.root
# Desktop aspects
inputs.self.modules.nixos.desktop-boot
inputs.self.modules.nixos.desktop-desktop
inputs.self.modules.nixos.desktop-nix
inputs.self.modules.nixos.desktop-services
# Other aspects based on tags
inputs.self.modules.nixos.ai
inputs.self.modules.nixos.bluetooth
inputs.self.modules.nixos.dev
inputs.self.modules.nixos.libvirtd
inputs.self.modules.nixos.networkmanager
inputs.self.modules.nixos.podman
# Factory-generated ephemeral module
((inputs.import-tree.initFilter (p: lib.hasSuffix ".nix" p)) ./_io)
(inputs.self.factory.ephemeral {
rootDevice = "/dev/mapper/cryptroot";
})
]
++ (with inputs.self.modules.nixos; [
cli
# Host-specific files (from _io/)
./_io/hardware-configuration.nix
./_io/disko.nix
./_io/boot.nix
./_io/programs.nix
./_io/services.nix
];
# Common aspects (always included)
common-boot
common-console
common-firewall
common-locale
common-nix
common-openssh
common-programs
common-security
common-services
common-tailscale
# User aspects
user
root
# Desktop aspects
desktop-boot
desktop-desktop
desktop-nix
desktop-services
# Other aspects
ai
bluetooth
dev
libvirtd
networkmanager
podman
]);
};
}

View file

@ -1,4 +1,5 @@
{ inputs, ... }:
{ inputs, lib, ... }:
{
flake.nixosConfigurations.rotterdam = inputs.nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
@ -12,53 +13,48 @@
inputs.self.overlays.default
];
}
# Common aspects (always included)
inputs.self.modules.nixos.common-boot
inputs.self.modules.nixos.common-console
inputs.self.modules.nixos.common-firewall
inputs.self.modules.nixos.common-locale
inputs.self.modules.nixos.common-nix
inputs.self.modules.nixos.common-openssh
inputs.self.modules.nixos.common-programs
inputs.self.modules.nixos.common-security
inputs.self.modules.nixos.common-services
inputs.self.modules.nixos.common-tailscale
# User aspects
inputs.self.modules.nixos.user
inputs.self.modules.nixos.root
# Desktop aspects
inputs.self.modules.nixos.desktop-boot
inputs.self.modules.nixos.desktop-desktop
inputs.self.modules.nixos.desktop-nix
inputs.self.modules.nixos.desktop-services
# Other aspects based on tags
inputs.self.modules.nixos.ai
inputs.self.modules.nixos.bluetooth
inputs.self.modules.nixos.dev
inputs.self.modules.nixos.fwupd
inputs.self.modules.nixos.gaming-steam
inputs.self.modules.nixos.gaming-hardware
inputs.self.modules.nixos.gaming-flatpak
inputs.self.modules.nixos.gaming-launchers
inputs.self.modules.nixos.libvirtd
inputs.self.modules.nixos.networkmanager
inputs.self.modules.nixos.podman
# Factory-generated ephemeral module
((inputs.import-tree.initFilter (p: lib.hasSuffix ".nix" p)) ./_rotterdam)
(inputs.self.factory.ephemeral {
rootDevice = "/dev/mapper/cryptroot";
})
]
++ (with inputs.self.modules.nixos; [
cli
# Host-specific files (from _rotterdam/)
./_rotterdam/hardware-configuration.nix
./_rotterdam/boot.nix
./_rotterdam/hardware.nix
./_rotterdam/programs.nix
./_rotterdam/services.nix
];
# Common aspects (always included)
common-boot
common-console
common-firewall
common-locale
common-nix
common-openssh
common-programs
common-security
common-services
common-tailscale
# User aspects
user
root
# Desktop aspects
desktop-boot
desktop-desktop
desktop-nix
desktop-services
# Other aspects based on tags
ai
bluetooth
dev
fwupd
gaming-steam
gaming-hardware
gaming-flatpak
gaming-launchers
libvirtd
networkmanager
podman
]);
};
}

View file

@ -1,4 +1,4 @@
{ inputs, self, ... }:
{ inputs, lib, ... }:
{
flake.nixosConfigurations.trantor = inputs.nixpkgs-stable.lib.nixosSystem {
system = "aarch64-linux";
@ -13,42 +13,36 @@
];
}
# Common aspects (always included)
inputs.self.modules.nixos.common-boot
inputs.self.modules.nixos.common-console
inputs.self.modules.nixos.common-firewall
inputs.self.modules.nixos.common-locale
inputs.self.modules.nixos.common-nix
inputs.self.modules.nixos.common-openssh
inputs.self.modules.nixos.common-programs
inputs.self.modules.nixos.common-security
inputs.self.modules.nixos.common-services
inputs.self.modules.nixos.common-tailscale
# User aspects
inputs.self.modules.nixos.user
inputs.self.modules.nixos.root
# Server aspects
inputs.self.modules.nixos.server-boot
inputs.self.modules.nixos.server-nix
inputs.self.modules.nixos.server-tailscale
# Factory-generated ephemeral module
(inputs.self.factory.ephemeral {
rootDevice = "/dev/disk/by-id/scsi-360b207ed25d84372a95d1ecf842f8e20-part2";
})
# Host-specific files (from _trantor/)
./_trantor/hardware-configuration.nix
./_trantor/disko.nix
./_trantor/boot.nix
./_trantor/fail2ban.nix
./_trantor/forgejo.nix
./_trantor/networking.nix
./_trantor/nginx.nix
./_trantor/openssh.nix
./_trantor/unbound.nix
];
((inputs.import-tree.initFilter (p: lib.hasSuffix ".nix" p)) ./_trantor)
]
++ (with inputs.self.modules.nixos; [
cli
# Common aspects (always included)
common-boot
common-console
common-firewall
common-locale
common-nix
common-openssh
common-programs
common-security
common-services
common-tailscale
# User aspects
user
root
# Server aspects
server-boot
server-nix
server-tailscale
]);
};
}