We have made an emacs conf with profiles. And refactored lab tool to use deploy-rs

This commit is contained in:
Geir Okkenhaug Jerstad 2025-07-03 15:09:33 +02:00
parent 24b01ae4f0
commit bff56e4ffc
22 changed files with 1448 additions and 176 deletions

View file

@ -33,6 +33,10 @@
# Development tools
../../modules/development/tools.nix
../../modules/development/emacs.nix
# Emacs with workstation profile
../../modules/development/emacs.nix
# AI tools
../../modules/ai/claude-code.nix
@ -61,6 +65,14 @@
];
};
# Emacs workstation configuration
services.emacs-profiles = {
enable = true;
profile = "workstation";
enableDaemon = true;
user = "geir";
};
# Enable clean seatd/greetd login
services.seatd-clean.enable = true;

View file

@ -16,6 +16,9 @@
../../modules/virtualization/incus.nix
../../modules/users/sma.nix
# Development (minimal for services host)
../../modules/development/emacs.nix
# NFS client with ID mapping
../../modules/services/nfs-client.nix
@ -43,6 +46,14 @@
# Disks and Updates
services.fstrim.enable = true;
# Emacs server configuration (minimal for services host)
services.emacs-profiles = {
enable = true;
profile = "server";
enableDaemon = false;
user = "sma";
};
# Mount remote filesystem
fileSystems."/mnt/remote/media" = {
device = "sleeper-service:/mnt/storage/media";

View file

@ -15,7 +15,6 @@
../../modules/common/base.nix
../../modules/common/nix.nix
../../modules/common/tty.nix
../../modules/common/emacs.nix
# Desktop
../../modules/desktop/niri.nix
@ -25,6 +24,7 @@
# Development
../../modules/development/tools.nix
../../modules/development/emacs.nix
../../modules/ai/claude-code.nix
# Users
@ -79,6 +79,14 @@
kernel.sysctl."vm.swappiness" = 180;
};
# Emacs laptop configuration
services.emacs-profiles = {
enable = true;
profile = "laptop";
enableDaemon = true;
user = "geir";
};
# zram configuration
zramSwap = {
enable = true;

View file

@ -10,6 +10,9 @@
../../modules/network/extraHosts.nix
../../modules/users/sma.nix
../../modules/security/ssh-keys.nix
# Development (minimal for edge server)
../../modules/development/emacs.nix
];
environment.systemPackages = with pkgs; [
@ -43,6 +46,14 @@
# Tailscale for secure management access
services.tailscale.enable = true;
# Emacs server configuration (minimal for edge server)
services.emacs-profiles = {
enable = true;
profile = "server";
enableDaemon = false;
user = "sma";
};
# SSH configuration - temporarily simplified for testing
services.openssh = {
enable = true;

View file

@ -1,4 +1,11 @@
{ config, lib, pkgs, inputs, unstable, ... }: {
{
config,
lib,
pkgs,
inputs,
unstable,
...
}: {
imports = [
./hardware-configuration.nix
# Security modules
@ -10,6 +17,9 @@
./nfs.nix
./services/transmission.nix
# Development (minimal for server)
../../modules/development/emacs.nix
# User modules - server only needs sma user
../../modules/users/sma.nix
];
@ -20,25 +30,37 @@
zfsSupport = true;
efiSupport = true;
efiInstallAsRemovable = true;
mirroredBoots = [
{ devices = [ "nodev" ]; path = "/boot"; } ];
mirroredBoots = [
{
devices = ["nodev"];
path = "/boot";
}
];
};
boot.supportedFilesystems = [ "zfs" ];
boot.supportedFilesystems = ["zfs"];
boot.loader.grub.memtest86.enable = true;
# Add nomodeset for graphics compatibility
boot.kernelParams = [ "nomodeset" ];
boot.kernelParams = ["nomodeset"];
# ZFS services for file server
services.zfs = {
autoScrub.enable = true;
trim.enable = true;
};
# Emacs server configuration (minimal)
services.emacs-profiles = {
enable = true;
profile = "server";
enableDaemon = false; # Don't run daemon on server
user = "sma";
};
# Enable ZFS auto-mounting since we're using ZFS native mountpoints
# systemd.services.zfs-mount.enable = lib.mkForce false;
# Disable graphics for server use - comment out NVIDIA config for now
# hardware.graphics = {
# enable = true;
@ -48,15 +70,15 @@
# open = false;
# package = config.boot.kernelPackages.nvidiaPackages.legacy_470;
# };
# Comment out NVIDIA kernel modules for now
# boot.kernelModules = [ "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" ];
# Comment out NVIDIA utilities for now
# environment.systemPackages = with pkgs; [
# config.boot.kernelPackages.nvidiaPackages.legacy_470
# ];
# Create mount directories early in boot process
# systemd.tmpfiles.rules = [
# "d /mnt/storage 0755 root root -"
@ -93,4 +115,4 @@
# DO NOT CHANGE - maintains data compatibility
system.stateVersion = "23.11";
}
}