Compare commits

..

4 Commits

Author SHA1 Message Date
jory 6a7549e025 add avahi 2026-04-14 21:40:35 +02:00
jory 89022e0d50 feat(nixos): add multi-arch support and refactor system configs
- add aarch64-linux to supported systems (flake + pkgs)
- refactor host definitions into tty/desktop/laptop configurations
- introduce sharedModules to reduce duplication
- split system modules into base, gui, and laptop groups
- add headless (tty) configuration

feat(fish): add Ctrl+Delete and Alt+Delete bindings
- Ctrl+Delete → kill-word
- Alt+Delete → kill-token

chore(hosts): remove explicit hostname from aesthetic

chore(services): remove forced disable of speechd
2026-04-14 18:47:19 +02:00
jory cd1d6de848 Added protonvpn 2026-04-13 17:14:33 +02:00
jory c49ae0edc1 Added act package and fish binding 2026-04-13 12:00:21 +02:00
12 changed files with 3562 additions and 46 deletions
+1 -1
View File
@@ -3,7 +3,7 @@
outputs = inputs:
inputs.flake-parts.lib.mkFlake {inherit inputs;} {
systems = ["x86_64-linux"];
systems = ["x86_64-linux" "aarch64-linux"];
imports = [./hosts ./pkgs];
+3
View File
@@ -12,6 +12,7 @@
# editor
neovim
#messaging
telegram-desktop
vesktop
@@ -24,6 +25,8 @@
imagemagick
bun
fastfetch
act
protonvpn-gui
wl-mirror
pavucontrol
+3 -2
View File
@@ -37,6 +37,9 @@
# Custom bindings
for mode in insert default
bind -M $mode ctrl-backspace backward-kill-word
bind -M $mode ctrl-delete kill-word
bind -M $mode alt-backspace backward-kill-token
bind -M $mode alt-delete kill-token
bind -M $mode ctrl-z undo
end
bind -M insert \cx\ce edit_command_buffer
@@ -172,8 +175,6 @@ end
alias cleanram="sudo sh -c 'sync; echo 3 > /proc/sys/vm/drop_caches'"
alias trimall="sudo fstrim -va"
alias c="clear"
alias test-build="sudo nixos-rebuild test --flake /etc/nixos#aesthetic"
alias switch-build="sudo nixos-rebuild switch --flake /etc/nixos#aesthetic"
alias add="git add ."
alias commit="git commit"
alias push="git push"
+1 -2
View File
@@ -9,7 +9,7 @@ in {
xdg.configFile."${configFile}".source = toYAML "config.yml" {
version = 1;
git_protocol = "https";
git_protocol = "ssh";
editor = "nvim";
prompt = "enabled";
prefer_editor_prompt = "disabled";
@@ -17,7 +17,6 @@ in {
aliases = {
co = "pr checkout";
};
http_unix_socket = "";
browser = "zen";
};
-2
View File
@@ -132,8 +132,6 @@
'';
};
networking.hostName = "aesthetic";
security.tpm2.enable = true;
# Additional security hardening for HSI compliance
+34 -22
View File
@@ -2,32 +2,44 @@
self,
inputs,
...
}: {
flake.nixosConfigurations = let
# shorten paths
inherit (inputs.nixpkgs.lib) nixosSystem;
mod = "${self}/system";
home = "${self}/home";
}: let
# shorten paths
inherit (inputs.nixpkgs.lib) nixosSystem;
mod = "${self}/system";
home = "${self}/home";
# get the basic config to build on top of
inherit (import "${self}/system") desktop laptop;
# get the basic config to build on top of
inherit (import "${self}/system") tty desktop laptop;
# get these into the module system
specialArgs = {inherit inputs self;};
in {
aesthetic = nixosSystem {
# get these into the module system
specialArgs = {inherit inputs self;};
# shared modules for all configurations
sharedModules = [
./aesthetic
"${mod}/services/gnome-services.nix"
"${mod}/core/limine.nix"
"${home}"
inputs.agenix.nixosModules.default
];
in {
flake.nixosConfigurations = {
# TTY: desktop headless (no GUI)
tty = nixosSystem {
inherit specialArgs;
modules =
desktop
++ laptop
++ [
./aesthetic
"${mod}/services/gnome-services.nix"
"${mod}/core/limine.nix"
"${home}"
modules = tty ++ sharedModules;
};
inputs.agenix.nixosModules.default
];
# Desktop: desktop with GUI
desktop = nixosSystem {
inherit specialArgs;
modules = desktop ++ sharedModules;
};
# Laptop: laptop with GUI + battery + bluetooth
laptop = nixosSystem {
inherit specialArgs;
modules = laptop ++ sharedModules;
};
};
}
+3490
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,5 +1,5 @@
{
systems = ["x86_64-linux"];
systems = ["x86_64-linux" "aarch64-linux"];
perSystem = {pkgs, ...}: {
packages = {
+1 -1
View File
@@ -1,5 +1,5 @@
let
host = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICL0B9moxOPY4XYim8826M+Tf0sWErwWljz1gkDZPwuF root@aesthetic";
host = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICL0B9moxOPY4XYim8826M+Tf0sWErwWljz1gkDZPwuF";
in {
"gitea_laptop.age".publicKeys = [
host
+24 -14
View File
@@ -1,28 +1,38 @@
let
desktop = [
./core/boot.nix
# Base system - common for all configurations
base = [
./core/default.nix
./hardware/graphics.nix
./hardware/fwupd.nix
./network/default.nix
./programs
./services
./services/default.nix
./services/docker.nix
./services/greetd.nix
./services/pipewire.nix
./services/xdg-portal-fix.nix
];
laptop =
desktop
++ [
./hardware/bluetooth.nix
./services/power.nix
];
# GUI-specific modules (display manager, GPU, pipewire)
gui = [
./core/boot.nix # plymouth boot splash
./hardware/graphics.nix # GPU drivers
./services/greetd.nix # display manager
./services/pipewire.nix # audio
];
# Laptop-specific modules (battery, bluetooth)
laptop = [
./hardware/bluetooth.nix
./services/power.nix
];
in {
inherit desktop laptop;
# TTY: desktop headless (no GUI)
tty = base;
# Desktop: desktop with GUI
desktop = base ++ gui;
# Laptop: laptop with GUI + battery + bluetooth
laptop = base ++ gui ++ laptop;
}
+4
View File
@@ -1,4 +1,8 @@
{pkgs, ...}: {
imports = [
./avahi.nix
];
networking = {
nameservers = ["1.1.1.1" "1.0.0.1"];
-1
View File
@@ -11,7 +11,6 @@
irqbalance.enable = true;
thermald.enable = true;
speechd.enable = lib.mkForce false;
};
# Use in place of hypridle's before_sleep_cmd, since systemd does not wait for