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,20 +1,28 @@
{ ... }:
{
flake.modules.homeManager.cli-btop =
{
config,
lib,
pkgs,
...
}:
{
programs.btop = {
enable = true;
settings = {
theme_background = false;
proc_sorting = "cpu direct";
update_ms = 500;
flake.modules = {
nixos.btop =
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [ btop ];
};
homeManager.btop =
{
config,
lib,
pkgs,
...
}:
{
programs.btop = {
enable = true;
settings = {
theme_background = false;
proc_sorting = "cpu direct";
update_ms = 500;
};
};
};
};
};
}

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,57 +1,67 @@
{ ... }:
{
flake.modules.homeManager.cli-helix =
{
config,
lib,
pkgs,
...
}:
{
home.sessionVariables = {
EDITOR = "hx";
flake.modules = {
nixos.helix =
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
helix
];
};
programs.helix = {
enable = true;
settings = {
editor = {
file-picker.hidden = false;
idle-timeout = 0;
line-number = "relative";
cursor-shape = {
normal = "underline";
insert = "bar";
select = "underline";
};
soft-wrap.enable = true;
auto-format = true;
indent-guides.render = true;
};
keys.normal = {
space = {
o = "file_picker_in_current_buffer_directory";
esc = [
"collapse_selection"
"keep_primary_selection"
];
};
};
homeManager.helix =
{
config,
lib,
pkgs,
...
}:
{
home.sessionVariables = {
EDITOR = "hx";
};
languages = {
language = [
{
name = "nix";
programs.helix = {
enable = true;
settings = {
editor = {
file-picker.hidden = false;
idle-timeout = 0;
line-number = "relative";
cursor-shape = {
normal = "underline";
insert = "bar";
select = "underline";
};
soft-wrap.enable = true;
auto-format = true;
formatter.command = "nixfmt";
}
{
name = "typst";
auto-format = true;
formatter.command = "typstyle -c 1000 -i";
}
];
indent-guides.render = true;
};
keys.normal = {
space = {
o = "file_picker_in_current_buffer_directory";
esc = [
"collapse_selection"
"keep_primary_selection"
];
};
};
};
languages = {
language = [
{
name = "nix";
auto-format = true;
formatter.command = "nixfmt";
}
{
name = "typst";
auto-format = true;
formatter.command = "typstyle -c 1000 -i";
}
];
};
};
};
};
};
}

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,19 +1,29 @@
{ ... }:
{
flake.modules.homeManager.cli-tmux =
{
config,
lib,
pkgs,
...
}:
{
programs.tmux = {
enable = true;
clock24 = true;
terminal = "xterm-256color";
mouse = true;
keyMode = "vi";
flake.modules = {
nixos.tmux =
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
tmux
];
};
};
homeManager.tmux =
{
config,
lib,
pkgs,
...
}:
{
programs.tmux = {
enable = true;
clock24 = true;
terminal = "xterm-256color";
mouse = true;
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
]);
};
}